@imgly/codesign-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (816) hide show
  1. package/LICENSE.md +16 -0
  2. package/README.md +158 -0
  3. package/assets/docs/api/SKILL.md +49 -0
  4. package/assets/docs/api/index.d.ts +10518 -0
  5. package/assets/docs/guide/SKILL.md +142 -0
  6. package/assets/docs/guide/actions.md +1038 -0
  7. package/assets/docs/guide/animation/create/base.md +467 -0
  8. package/assets/docs/guide/animation/create/text.md +453 -0
  9. package/assets/docs/guide/animation/create.md +558 -0
  10. package/assets/docs/guide/animation/edit.md +501 -0
  11. package/assets/docs/guide/animation/overview.md +22 -0
  12. package/assets/docs/guide/animation/types.md +430 -0
  13. package/assets/docs/guide/animation.md +23 -0
  14. package/assets/docs/guide/api/AssetAPI.md +602 -0
  15. package/assets/docs/guide/api/BlockAPI.md +6152 -0
  16. package/assets/docs/guide/api/CreativeEngine.md +180 -0
  17. package/assets/docs/guide/api/EditorAPI.md +1261 -0
  18. package/assets/docs/guide/api/EventAPI.md +25 -0
  19. package/assets/docs/guide/api/SceneAPI.md +729 -0
  20. package/assets/docs/guide/api/VariableAPI.md +59 -0
  21. package/assets/docs/guide/api/types.md +71 -0
  22. package/assets/docs/guide/api-reference/overview.md +20 -0
  23. package/assets/docs/guide/automation/auto-resize.md +412 -0
  24. package/assets/docs/guide/automation/batch-processing.md +474 -0
  25. package/assets/docs/guide/automation/data-merge.md +406 -0
  26. package/assets/docs/guide/automation/design-generation.md +107 -0
  27. package/assets/docs/guide/automation/overview.md +16 -0
  28. package/assets/docs/guide/automation.md +24 -0
  29. package/assets/docs/guide/browser-support.md +38 -0
  30. package/assets/docs/guide/capabilities.md +18 -0
  31. package/assets/docs/guide/colors/adjust.md +551 -0
  32. package/assets/docs/guide/colors/apply.md +349 -0
  33. package/assets/docs/guide/colors/basics.md +440 -0
  34. package/assets/docs/guide/colors/conversion.md +504 -0
  35. package/assets/docs/guide/colors/create-color-palette.md +426 -0
  36. package/assets/docs/guide/colors/for-print/cmyk.md +577 -0
  37. package/assets/docs/guide/colors/for-print/spot.md +751 -0
  38. package/assets/docs/guide/colors/for-print.md +21 -0
  39. package/assets/docs/guide/colors/for-screen/p3.md +60 -0
  40. package/assets/docs/guide/colors/for-screen/srgb.md +463 -0
  41. package/assets/docs/guide/colors/for-screen.md +21 -0
  42. package/assets/docs/guide/colors/overview.md +20 -0
  43. package/assets/docs/guide/colors/replace.md +535 -0
  44. package/assets/docs/guide/colors.md +28 -0
  45. package/assets/docs/guide/compatibility.md +27 -0
  46. package/assets/docs/guide/concepts/architecture.md +99 -0
  47. package/assets/docs/guide/concepts/assets.md +360 -0
  48. package/assets/docs/guide/concepts/blocks.md +750 -0
  49. package/assets/docs/guide/concepts/buffers.md +546 -0
  50. package/assets/docs/guide/concepts/design-units.md +333 -0
  51. package/assets/docs/guide/concepts/edit-modes.md +431 -0
  52. package/assets/docs/guide/concepts/editing-workflow.md +303 -0
  53. package/assets/docs/guide/concepts/events.md +466 -0
  54. package/assets/docs/guide/concepts/headless-mode/browser.md +291 -0
  55. package/assets/docs/guide/concepts/pages.md +396 -0
  56. package/assets/docs/guide/concepts/resources.md +496 -0
  57. package/assets/docs/guide/concepts/scenes.md +443 -0
  58. package/assets/docs/guide/concepts/templating.md +194 -0
  59. package/assets/docs/guide/concepts/terminology.md +296 -0
  60. package/assets/docs/guide/concepts/undo-and-history.md +461 -0
  61. package/assets/docs/guide/concepts.md +38 -0
  62. package/assets/docs/guide/configuration.md +469 -0
  63. package/assets/docs/guide/conversion/overview.md +22 -0
  64. package/assets/docs/guide/conversion/to-base64.md +234 -0
  65. package/assets/docs/guide/conversion/to-pdf.md +616 -0
  66. package/assets/docs/guide/conversion/to-png.md +290 -0
  67. package/assets/docs/guide/conversion.md +23 -0
  68. package/assets/docs/guide/create-audio/audio/add-music.md +430 -0
  69. package/assets/docs/guide/create-audio/audio/add-sound-effects.md +664 -0
  70. package/assets/docs/guide/create-audio/audio/loop.md +370 -0
  71. package/assets/docs/guide/create-audio/audio.md +336 -0
  72. package/assets/docs/guide/create-composition/add-background.md +395 -0
  73. package/assets/docs/guide/create-composition/blend-modes.md +372 -0
  74. package/assets/docs/guide/create-composition/collage.md +432 -0
  75. package/assets/docs/guide/create-composition/group-and-ungroup.md +388 -0
  76. package/assets/docs/guide/create-composition/layer-management.md +503 -0
  77. package/assets/docs/guide/create-composition/layout.md +396 -0
  78. package/assets/docs/guide/create-composition/lock-design.md +362 -0
  79. package/assets/docs/guide/create-composition/multi-page.md +204 -0
  80. package/assets/docs/guide/create-composition/overview.md +18 -0
  81. package/assets/docs/guide/create-composition/programmatic.md +593 -0
  82. package/assets/docs/guide/create-composition.md +30 -0
  83. package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +688 -0
  84. package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +600 -0
  85. package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +647 -0
  86. package/assets/docs/guide/create-templates/add-dynamic-content.md +307 -0
  87. package/assets/docs/guide/create-templates/add-to-template-library.md +297 -0
  88. package/assets/docs/guide/create-templates/edit-or-remove.md +441 -0
  89. package/assets/docs/guide/create-templates/from-scratch.md +558 -0
  90. package/assets/docs/guide/create-templates/import/from-scene-file.md +440 -0
  91. package/assets/docs/guide/create-templates/import.md +244 -0
  92. package/assets/docs/guide/create-templates/lock.md +325 -0
  93. package/assets/docs/guide/create-templates/overview.md +16 -0
  94. package/assets/docs/guide/create-templates.md +32 -0
  95. package/assets/docs/guide/create-video/audio/adjust-speed.md +302 -0
  96. package/assets/docs/guide/create-video/audio/adjust-volume.md +346 -0
  97. package/assets/docs/guide/create-video/control.md +285 -0
  98. package/assets/docs/guide/create-video/limitations.md +396 -0
  99. package/assets/docs/guide/create-video/overview.md +224 -0
  100. package/assets/docs/guide/create-video/timeline-editor.md +622 -0
  101. package/assets/docs/guide/create-video/update-caption-presets.md +676 -0
  102. package/assets/docs/guide/create-video.md +32 -0
  103. package/assets/docs/guide/edit-image/add-watermark.md +497 -0
  104. package/assets/docs/guide/edit-image/overview.md +22 -0
  105. package/assets/docs/guide/edit-image/remove-bg.md +420 -0
  106. package/assets/docs/guide/edit-image/replace-colors.md +680 -0
  107. package/assets/docs/guide/edit-image/transform/crop.md +523 -0
  108. package/assets/docs/guide/edit-image/transform/move.md +279 -0
  109. package/assets/docs/guide/edit-image/transform/resize.md +301 -0
  110. package/assets/docs/guide/edit-image/transform/rotate.md +408 -0
  111. package/assets/docs/guide/edit-image/transform/scale.md +278 -0
  112. package/assets/docs/guide/edit-image/transform.md +24 -0
  113. package/assets/docs/guide/edit-image/vectorize.md +204 -0
  114. package/assets/docs/guide/edit-image.md +25 -0
  115. package/assets/docs/guide/edit-video/add-captions.md +589 -0
  116. package/assets/docs/guide/edit-video/add-watermark.md +429 -0
  117. package/assets/docs/guide/edit-video/join-and-arrange.md +540 -0
  118. package/assets/docs/guide/edit-video/redaction.md +544 -0
  119. package/assets/docs/guide/edit-video/split.md +634 -0
  120. package/assets/docs/guide/edit-video/transform/crop.md +380 -0
  121. package/assets/docs/guide/edit-video/transform/flip.md +182 -0
  122. package/assets/docs/guide/edit-video/transform/move.md +413 -0
  123. package/assets/docs/guide/edit-video/transform/resize.md +534 -0
  124. package/assets/docs/guide/edit-video/transform/rotate.md +312 -0
  125. package/assets/docs/guide/edit-video/transform/scale.md +603 -0
  126. package/assets/docs/guide/edit-video/transform.md +25 -0
  127. package/assets/docs/guide/edit-video/trim.md +773 -0
  128. package/assets/docs/guide/engine-interface.md +108 -0
  129. package/assets/docs/guide/export-save-publish/create-thumbnail.md +292 -0
  130. package/assets/docs/guide/export-save-publish/export/compress.md +639 -0
  131. package/assets/docs/guide/export-save-publish/export/overview.md +576 -0
  132. package/assets/docs/guide/export-save-publish/export/partial-export.md +694 -0
  133. package/assets/docs/guide/export-save-publish/export/size-limits.md +401 -0
  134. package/assets/docs/guide/export-save-publish/export/to-html5.md +474 -0
  135. package/assets/docs/guide/export-save-publish/export/to-jpeg.md +312 -0
  136. package/assets/docs/guide/export-save-publish/export/to-mp4.md +364 -0
  137. package/assets/docs/guide/export-save-publish/export/to-pdf.md +389 -0
  138. package/assets/docs/guide/export-save-publish/export/to-png.md +255 -0
  139. package/assets/docs/guide/export-save-publish/export/to-raw-data.md +303 -0
  140. package/assets/docs/guide/export-save-publish/export/to-webp.md +261 -0
  141. package/assets/docs/guide/export-save-publish/export/with-color-mask.md +278 -0
  142. package/assets/docs/guide/export-save-publish/export.md +36 -0
  143. package/assets/docs/guide/export-save-publish/for-printing.md +423 -0
  144. package/assets/docs/guide/export-save-publish/for-social-media.md +318 -0
  145. package/assets/docs/guide/export-save-publish/pre-export-validation.md +698 -0
  146. package/assets/docs/guide/export-save-publish/save.md +340 -0
  147. package/assets/docs/guide/export-save-publish/store-custom-metadata.md +367 -0
  148. package/assets/docs/guide/file-format-support.md +34 -0
  149. package/assets/docs/guide/fills/color.md +678 -0
  150. package/assets/docs/guide/fills/image.md +539 -0
  151. package/assets/docs/guide/fills/overview.md +144 -0
  152. package/assets/docs/guide/fills/video.md +641 -0
  153. package/assets/docs/guide/fills.md +24 -0
  154. package/assets/docs/guide/filters-and-effects/apply.md +1019 -0
  155. package/assets/docs/guide/filters-and-effects/blur.md +382 -0
  156. package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +445 -0
  157. package/assets/docs/guide/filters-and-effects/create-custom-filters.md +614 -0
  158. package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +426 -0
  159. package/assets/docs/guide/filters-and-effects/distortion.md +527 -0
  160. package/assets/docs/guide/filters-and-effects/duotone.md +602 -0
  161. package/assets/docs/guide/filters-and-effects/gradients.md +1311 -0
  162. package/assets/docs/guide/filters-and-effects/overview.md +22 -0
  163. package/assets/docs/guide/filters-and-effects/support.md +623 -0
  164. package/assets/docs/guide/filters-and-effects.md +28 -0
  165. package/assets/docs/guide/get-started/agent-skills.md +119 -0
  166. package/assets/docs/guide/get-started/build-with-ai.md +45 -0
  167. package/assets/docs/guide/get-started/mcp-server.md +119 -0
  168. package/assets/docs/guide/get-started/overview.md +28 -0
  169. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +175 -0
  170. package/assets/docs/guide/grid-and-rulers.md +222 -0
  171. package/assets/docs/guide/guides/export-save-publish/export/audio.md +224 -0
  172. package/assets/docs/guide/guides/text/rendering-internals.md +796 -0
  173. package/assets/docs/guide/guides.md +49 -0
  174. package/assets/docs/guide/import-media/asset-library.md +23 -0
  175. package/assets/docs/guide/import-media/asset-panel/basics.md +324 -0
  176. package/assets/docs/guide/import-media/asset-panel/customize.md +478 -0
  177. package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +415 -0
  178. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +633 -0
  179. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +137 -0
  180. package/assets/docs/guide/import-media/capture-from-camera.md +20 -0
  181. package/assets/docs/guide/import-media/concepts.md +173 -0
  182. package/assets/docs/guide/import-media/content-json-schema.md +615 -0
  183. package/assets/docs/guide/import-media/default-assets.md +381 -0
  184. package/assets/docs/guide/import-media/edit-or-remove-assets.md +489 -0
  185. package/assets/docs/guide/import-media/file-format-support.md +178 -0
  186. package/assets/docs/guide/import-media/from-local-source/user-upload.md +438 -0
  187. package/assets/docs/guide/import-media/from-local-source.md +20 -0
  188. package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +390 -0
  189. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +627 -0
  190. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +625 -0
  191. package/assets/docs/guide/import-media/from-remote-source/pexels.md +692 -0
  192. package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +473 -0
  193. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +497 -0
  194. package/assets/docs/guide/import-media/from-remote-source/third-party.md +51 -0
  195. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +914 -0
  196. package/assets/docs/guide/import-media/from-remote-source/your-server.md +764 -0
  197. package/assets/docs/guide/import-media/from-remote-source.md +28 -0
  198. package/assets/docs/guide/import-media/overview.md +32 -0
  199. package/assets/docs/guide/import-media/retrieve-mimetype.md +274 -0
  200. package/assets/docs/guide/import-media/size-limits.md +20 -0
  201. package/assets/docs/guide/import-media/source-sets.md +476 -0
  202. package/assets/docs/guide/import-media.md +32 -0
  203. package/assets/docs/guide/insert-media/audio.md +291 -0
  204. package/assets/docs/guide/insert-media/images.md +380 -0
  205. package/assets/docs/guide/insert-media/position-and-align.md +734 -0
  206. package/assets/docs/guide/insert-media/shapes-or-stickers.md +799 -0
  207. package/assets/docs/guide/insert-media/videos.md +308 -0
  208. package/assets/docs/guide/insert-media.md +24 -0
  209. package/assets/docs/guide/key-capabilities.md +24 -0
  210. package/assets/docs/guide/key-concepts.md +83 -0
  211. package/assets/docs/guide/licensing.md +45 -0
  212. package/assets/docs/guide/llms-txt.md +53 -0
  213. package/assets/docs/guide/open-the-editor/blank-canvas.md +124 -0
  214. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +228 -0
  215. package/assets/docs/guide/open-the-editor/from-image.md +205 -0
  216. package/assets/docs/guide/open-the-editor/from-template.md +189 -0
  217. package/assets/docs/guide/open-the-editor/from-video.md +274 -0
  218. package/assets/docs/guide/open-the-editor/import-design/from-archive.md +504 -0
  219. package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +680 -0
  220. package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +865 -0
  221. package/assets/docs/guide/open-the-editor/import-design.md +481 -0
  222. package/assets/docs/guide/open-the-editor/load-scene.md +178 -0
  223. package/assets/docs/guide/open-the-editor/overview.md +20 -0
  224. package/assets/docs/guide/open-the-editor/set-zoom-level.md +303 -0
  225. package/assets/docs/guide/open-the-editor/uri-resolver.md +347 -0
  226. package/assets/docs/guide/open-the-editor.md +29 -0
  227. package/assets/docs/guide/outlines/overview.md +14 -0
  228. package/assets/docs/guide/outlines/shadows-and-glows.md +515 -0
  229. package/assets/docs/guide/outlines/strokes.md +292 -0
  230. package/assets/docs/guide/outlines.md +22 -0
  231. package/assets/docs/guide/overview.md +22 -0
  232. package/assets/docs/guide/performance.md +217 -0
  233. package/assets/docs/guide/plugins/asset-sources.md +553 -0
  234. package/assets/docs/guide/plugins/print-ready-pdf.md +549 -0
  235. package/assets/docs/guide/plugins.md +36 -0
  236. package/assets/docs/guide/rules/asset-handling.md +180 -0
  237. package/assets/docs/guide/rules/common-pitfalls.md +272 -0
  238. package/assets/docs/guide/rules/content-fill-mode.md +29 -0
  239. package/assets/docs/guide/rules/enforce-brand-guidelines.md +672 -0
  240. package/assets/docs/guide/rules/lock-content.md +478 -0
  241. package/assets/docs/guide/rules/moderate-content.md +761 -0
  242. package/assets/docs/guide/rules/overview.md +514 -0
  243. package/assets/docs/guide/rules/silent-init-errors.md +137 -0
  244. package/assets/docs/guide/rules/verify-properties-before-use.md +78 -0
  245. package/assets/docs/guide/rules.md +23 -0
  246. package/assets/docs/guide/security.md +199 -0
  247. package/assets/docs/guide/serve-assets.md +332 -0
  248. package/assets/docs/guide/settings.md +199 -0
  249. package/assets/docs/guide/shapes.md +23 -0
  250. package/assets/docs/guide/starterkits/3d-mockup-editor.md +748 -0
  251. package/assets/docs/guide/starterkits/advanced-editor.md +698 -0
  252. package/assets/docs/guide/starterkits/advanced-video-editor.md +696 -0
  253. package/assets/docs/guide/starterkits/ai-editor.md +749 -0
  254. package/assets/docs/guide/starterkits/airtable-image-editor.md +672 -0
  255. package/assets/docs/guide/starterkits/apparel-ui.md +188 -0
  256. package/assets/docs/guide/starterkits/assets.md +27 -0
  257. package/assets/docs/guide/starterkits/auto-resize.md +586 -0
  258. package/assets/docs/guide/starterkits/automated-video-generation.md +692 -0
  259. package/assets/docs/guide/starterkits/background-removal-editor.md +480 -0
  260. package/assets/docs/guide/starterkits/content-moderation.md +863 -0
  261. package/assets/docs/guide/starterkits/creative-automation.md +28 -0
  262. package/assets/docs/guide/starterkits/custom-built-uis.md +26 -0
  263. package/assets/docs/guide/starterkits/customization.md +29 -0
  264. package/assets/docs/guide/starterkits/cutout-lines-editor.md +470 -0
  265. package/assets/docs/guide/starterkits/data-merge.md +850 -0
  266. package/assets/docs/guide/starterkits/design-editor.md +698 -0
  267. package/assets/docs/guide/starterkits/design-generation.md +719 -0
  268. package/assets/docs/guide/starterkits/design-validation.md +808 -0
  269. package/assets/docs/guide/starterkits/editor-ui-configurations.md +14 -0
  270. package/assets/docs/guide/starterkits/export-options.md +724 -0
  271. package/assets/docs/guide/starterkits/export-using-renderer.md +708 -0
  272. package/assets/docs/guide/starterkits/extensibility.md +28 -0
  273. package/assets/docs/guide/starterkits/force-crop-editor.md +675 -0
  274. package/assets/docs/guide/starterkits/form-based-template-adoption.md +522 -0
  275. package/assets/docs/guide/starterkits/getty-images-editor.md +700 -0
  276. package/assets/docs/guide/starterkits/html5-ads-exporter.md +719 -0
  277. package/assets/docs/guide/starterkits/indesign-template-import.md +580 -0
  278. package/assets/docs/guide/starterkits/layouts-editor.md +724 -0
  279. package/assets/docs/guide/starterkits/mobile-ui.md +185 -0
  280. package/assets/docs/guide/starterkits/mockup-editor.md +745 -0
  281. package/assets/docs/guide/starterkits/multi-image-generation.md +542 -0
  282. package/assets/docs/guide/starterkits/page-sizes-editor.md +657 -0
  283. package/assets/docs/guide/starterkits/pexels-image-editor.md +665 -0
  284. package/assets/docs/guide/starterkits/photo-editor.md +755 -0
  285. package/assets/docs/guide/starterkits/photo-ui.md +186 -0
  286. package/assets/docs/guide/starterkits/photobook-ui.md +188 -0
  287. package/assets/docs/guide/starterkits/placeholders.md +678 -0
  288. package/assets/docs/guide/starterkits/player.md +405 -0
  289. package/assets/docs/guide/starterkits/plugins.md +25 -0
  290. package/assets/docs/guide/starterkits/postcard-editor.md +202 -0
  291. package/assets/docs/guide/starterkits/pptx-template-import.md +581 -0
  292. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +746 -0
  293. package/assets/docs/guide/starterkits/product-editor.md +773 -0
  294. package/assets/docs/guide/starterkits/psd-template-import.md +580 -0
  295. package/assets/docs/guide/starterkits/qr-code-editor.md +470 -0
  296. package/assets/docs/guide/starterkits/single-page-editor.md +661 -0
  297. package/assets/docs/guide/starterkits/start-with-image.md +684 -0
  298. package/assets/docs/guide/starterkits/start-with-video.md +651 -0
  299. package/assets/docs/guide/starterkits/t-shirt-designer.md +742 -0
  300. package/assets/docs/guide/starterkits/templating.md +23 -0
  301. package/assets/docs/guide/starterkits/theming.md +662 -0
  302. package/assets/docs/guide/starterkits/translation-internationalization.md +662 -0
  303. package/assets/docs/guide/starterkits/unsplash-editor.md +839 -0
  304. package/assets/docs/guide/starterkits/vectorizer-editor.md +466 -0
  305. package/assets/docs/guide/starterkits/version-history.md +745 -0
  306. package/assets/docs/guide/starterkits/video-animations.md +853 -0
  307. package/assets/docs/guide/starterkits/video-captions.md +884 -0
  308. package/assets/docs/guide/starterkits/video-editing.md +25 -0
  309. package/assets/docs/guide/starterkits/video-editor.md +696 -0
  310. package/assets/docs/guide/starterkits/video-export-options.md +676 -0
  311. package/assets/docs/guide/starterkits/viewer.md +400 -0
  312. package/assets/docs/guide/starterkits.md +41 -0
  313. package/assets/docs/guide/stickers-and-shapes/combine.md +743 -0
  314. package/assets/docs/guide/stickers-and-shapes/create-cutout.md +425 -0
  315. package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +794 -0
  316. package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +290 -0
  317. package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +211 -0
  318. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +362 -0
  319. package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +208 -0
  320. package/assets/docs/guide/stickers.md +21 -0
  321. package/assets/docs/guide/text/add.md +641 -0
  322. package/assets/docs/guide/text/adjust-spacing.md +288 -0
  323. package/assets/docs/guide/text/auto-size.md +404 -0
  324. package/assets/docs/guide/text/custom-fonts.md +401 -0
  325. package/assets/docs/guide/text/decorations.md +330 -0
  326. package/assets/docs/guide/text/edit.md +458 -0
  327. package/assets/docs/guide/text/effects.md +244 -0
  328. package/assets/docs/guide/text/emojis.md +310 -0
  329. package/assets/docs/guide/text/enumerations.md +258 -0
  330. package/assets/docs/guide/text/language-support.md +604 -0
  331. package/assets/docs/guide/text/overview.md +14 -0
  332. package/assets/docs/guide/text/styling.md +390 -0
  333. package/assets/docs/guide/text/text-designs.md +834 -0
  334. package/assets/docs/guide/text.md +33 -0
  335. package/assets/docs/guide/to-v1-10.md +131 -0
  336. package/assets/docs/guide/to-v1-13.md +165 -0
  337. package/assets/docs/guide/to-v1-19.md +315 -0
  338. package/assets/docs/guide/to-v1-32.md +110 -0
  339. package/assets/docs/guide/to-v1-69.md +468 -0
  340. package/assets/docs/guide/to-v1-72.md +193 -0
  341. package/assets/docs/guide/upgrade.md +25 -0
  342. package/assets/docs/guide/use-templates/apply-template.md +279 -0
  343. package/assets/docs/guide/use-templates/generate.md +405 -0
  344. package/assets/docs/guide/use-templates/library.md +450 -0
  345. package/assets/docs/guide/use-templates/overview.md +20 -0
  346. package/assets/docs/guide/use-templates/programmatic.md +482 -0
  347. package/assets/docs/guide/use-templates/replace-content.md +399 -0
  348. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +428 -0
  349. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +337 -0
  350. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +853 -0
  351. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +1045 -0
  352. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +641 -0
  353. package/assets/docs/guide/user-interface/ai-integration/integrate.md +966 -0
  354. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +99 -0
  355. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +498 -0
  356. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +493 -0
  357. package/assets/docs/guide/user-interface/ai-integration.md +30 -0
  358. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +316 -0
  359. package/assets/docs/guide/user-interface/appearance/custom-labels.md +509 -0
  360. package/assets/docs/guide/user-interface/appearance/icons.md +373 -0
  361. package/assets/docs/guide/user-interface/appearance/theming.md +665 -0
  362. package/assets/docs/guide/user-interface/appearance.md +23 -0
  363. package/assets/docs/guide/user-interface/build-your-own-ui.md +620 -0
  364. package/assets/docs/guide/user-interface/customization/canvas-menu.md +412 -0
  365. package/assets/docs/guide/user-interface/customization/canvas.md +281 -0
  366. package/assets/docs/guide/user-interface/customization/color-palette.md +413 -0
  367. package/assets/docs/guide/user-interface/customization/crop-presets.md +384 -0
  368. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +676 -0
  369. package/assets/docs/guide/user-interface/customization/dock.md +399 -0
  370. package/assets/docs/guide/user-interface/customization/force-crop.md +289 -0
  371. package/assets/docs/guide/user-interface/customization/inspector-bar.md +371 -0
  372. package/assets/docs/guide/user-interface/customization/navigation-bar.md +516 -0
  373. package/assets/docs/guide/user-interface/customization/page-format.md +436 -0
  374. package/assets/docs/guide/user-interface/customization/panel.md +605 -0
  375. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +531 -0
  376. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +358 -0
  377. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +374 -0
  378. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +323 -0
  379. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +294 -0
  380. package/assets/docs/guide/user-interface/customization/quick-start.md +12 -0
  381. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +519 -0
  382. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +333 -0
  383. package/assets/docs/guide/user-interface/customization/reference.md +12 -0
  384. package/assets/docs/guide/user-interface/customization.md +39 -0
  385. package/assets/docs/guide/user-interface/localization.md +633 -0
  386. package/assets/docs/guide/user-interface/overview.md +167 -0
  387. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +411 -0
  388. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +721 -0
  389. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +331 -0
  390. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +553 -0
  391. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +672 -0
  392. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +415 -0
  393. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +521 -0
  394. package/assets/docs/guide/user-interface/ui-extensions.md +26 -0
  395. package/assets/docs/guide/user-interface.md +25 -0
  396. package/assets/docs/guide/what-is-cesdk.md +319 -0
  397. package/assets/docs/handbook/SKILL.md +521 -0
  398. package/assets/prompts/evals-assetGenerate.md +12 -0
  399. package/assets/prompts/evals-brutalistCore.md +34 -0
  400. package/assets/prompts/evals-danskCatalogue.md +31 -0
  401. package/assets/prompts/evals-exportRoundTrip.md +12 -0
  402. package/assets/prompts/evals-inspectPriorCode.md +16 -0
  403. package/assets/prompts/evals-listProjectFiles.md +6 -0
  404. package/assets/prompts/evals-readAndExplainScript.md +6 -0
  405. package/assets/prompts/evals-resumeAcrossRestart.md +15 -0
  406. package/assets/prompts/evals-rewindRecovery.md +10 -0
  407. package/assets/prompts/evals-searchAcrossFiles.md +6 -0
  408. package/assets/prompts/evals-weddingCard.md +20 -0
  409. package/assets/prompts/explain.md +6 -0
  410. package/assets/prompts/review.md +6 -0
  411. package/dist/assets/inline.generated.d.ts +2 -0
  412. package/dist/assets/inline.generated.d.ts.map +1 -0
  413. package/dist/assets/inline.generated.js +413 -0
  414. package/dist/assets/inline.generated.js.map +1 -0
  415. package/dist/assets/load-browser.d.ts +8 -0
  416. package/dist/assets/load-browser.d.ts.map +1 -0
  417. package/dist/assets/load-browser.js +11 -0
  418. package/dist/assets/load-browser.js.map +1 -0
  419. package/dist/assets/load-node.d.ts +8 -0
  420. package/dist/assets/load-node.d.ts.map +1 -0
  421. package/dist/assets/load-node.js +11 -0
  422. package/dist/assets/load-node.js.map +1 -0
  423. package/dist/cli/http.d.ts +2 -0
  424. package/dist/cli/http.d.ts.map +1 -0
  425. package/dist/cli/http.js +231 -0
  426. package/dist/cli/http.js.map +1 -0
  427. package/dist/cli/redirect-console.d.ts +10 -0
  428. package/dist/cli/redirect-console.d.ts.map +1 -0
  429. package/dist/cli/redirect-console.js +18 -0
  430. package/dist/cli/redirect-console.js.map +1 -0
  431. package/dist/cli/resolve-license.d.ts +2 -0
  432. package/dist/cli/resolve-license.d.ts.map +1 -0
  433. package/dist/cli/resolve-license.js +13 -0
  434. package/dist/cli/resolve-license.js.map +1 -0
  435. package/dist/cli/stdio.d.ts +2 -0
  436. package/dist/cli/stdio.d.ts.map +1 -0
  437. package/dist/cli/stdio.js +124 -0
  438. package/dist/cli/stdio.js.map +1 -0
  439. package/dist/cli/trial-license.generated.d.ts +2 -0
  440. package/dist/cli/trial-license.generated.d.ts.map +1 -0
  441. package/dist/cli/trial-license.generated.js +4 -0
  442. package/dist/cli/trial-license.generated.js.map +1 -0
  443. package/dist/cli.d.ts +3 -0
  444. package/dist/cli.d.ts.map +1 -0
  445. package/dist/cli.js +64 -0
  446. package/dist/cli.js.map +1 -0
  447. package/dist/config.d.ts +61 -0
  448. package/dist/config.d.ts.map +1 -0
  449. package/dist/config.js +102 -0
  450. package/dist/config.js.map +1 -0
  451. package/dist/cross-ref.d.ts +2 -0
  452. package/dist/cross-ref.d.ts.map +1 -0
  453. package/dist/cross-ref.js +31 -0
  454. package/dist/cross-ref.js.map +1 -0
  455. package/dist/dashboard/router.d.ts +3 -0
  456. package/dist/dashboard/router.d.ts.map +1 -0
  457. package/dist/dashboard/router.js +19 -0
  458. package/dist/dashboard/router.js.map +1 -0
  459. package/dist/dashboard/spa-assets.generated.d.ts +2 -0
  460. package/dist/dashboard/spa-assets.generated.d.ts.map +1 -0
  461. package/dist/dashboard/spa-assets.generated.js +220 -0
  462. package/dist/dashboard/spa-assets.generated.js.map +1 -0
  463. package/dist/engine/asset-sources.d.ts +17 -0
  464. package/dist/engine/asset-sources.d.ts.map +1 -0
  465. package/dist/engine/asset-sources.js +75 -0
  466. package/dist/engine/asset-sources.js.map +1 -0
  467. package/dist/engine/cesdk-adapter.d.ts +10 -0
  468. package/dist/engine/cesdk-adapter.d.ts.map +1 -0
  469. package/dist/engine/cesdk-adapter.js +19 -0
  470. package/dist/engine/cesdk-adapter.js.map +1 -0
  471. package/dist/engine/index.d.ts +3 -0
  472. package/dist/engine/index.d.ts.map +1 -0
  473. package/dist/engine/index.js +3 -0
  474. package/dist/engine/index.js.map +1 -0
  475. package/dist/engine/mutex.d.ts +5 -0
  476. package/dist/engine/mutex.d.ts.map +1 -0
  477. package/dist/engine/mutex.js +42 -0
  478. package/dist/engine/mutex.js.map +1 -0
  479. package/dist/engine/session.d.ts +50 -0
  480. package/dist/engine/session.d.ts.map +1 -0
  481. package/dist/engine/session.js +95 -0
  482. package/dist/engine/session.js.map +1 -0
  483. package/dist/engine/uri-resolver.d.ts +14 -0
  484. package/dist/engine/uri-resolver.d.ts.map +1 -0
  485. package/dist/engine/uri-resolver.js +12 -0
  486. package/dist/engine/uri-resolver.js.map +1 -0
  487. package/dist/frontmatter.d.ts +15 -0
  488. package/dist/frontmatter.d.ts.map +1 -0
  489. package/dist/frontmatter.js +46 -0
  490. package/dist/frontmatter.js.map +1 -0
  491. package/dist/gateway/hosted-stub.d.ts +6 -0
  492. package/dist/gateway/hosted-stub.d.ts.map +1 -0
  493. package/dist/gateway/hosted-stub.js +11 -0
  494. package/dist/gateway/hosted-stub.js.map +1 -0
  495. package/dist/gateway/index.d.ts +4 -0
  496. package/dist/gateway/index.d.ts.map +1 -0
  497. package/dist/gateway/index.js +4 -0
  498. package/dist/gateway/index.js.map +1 -0
  499. package/dist/gateway/local.d.ts +14 -0
  500. package/dist/gateway/local.d.ts.map +1 -0
  501. package/dist/gateway/local.js +41 -0
  502. package/dist/gateway/local.js.map +1 -0
  503. package/dist/gateway/types.d.ts +24 -0
  504. package/dist/gateway/types.d.ts.map +1 -0
  505. package/dist/gateway/types.js +7 -0
  506. package/dist/gateway/types.js.map +1 -0
  507. package/dist/http/server.d.ts +80 -0
  508. package/dist/http/server.d.ts.map +1 -0
  509. package/dist/http/server.js +183 -0
  510. package/dist/http/server.js.map +1 -0
  511. package/dist/http/session-manager.d.ts +42 -0
  512. package/dist/http/session-manager.d.ts.map +1 -0
  513. package/dist/http/session-manager.js +82 -0
  514. package/dist/http/session-manager.js.map +1 -0
  515. package/dist/http/workspace-auth.d.ts +9 -0
  516. package/dist/http/workspace-auth.d.ts.map +1 -0
  517. package/dist/http/workspace-auth.js +29 -0
  518. package/dist/http/workspace-auth.js.map +1 -0
  519. package/dist/index.d.ts +10 -0
  520. package/dist/index.d.ts.map +1 -0
  521. package/dist/index.js +10 -0
  522. package/dist/index.js.map +1 -0
  523. package/dist/metrics/mount.d.ts +11 -0
  524. package/dist/metrics/mount.d.ts.map +1 -0
  525. package/dist/metrics/mount.js +13 -0
  526. package/dist/metrics/mount.js.map +1 -0
  527. package/dist/metrics/recorder.d.ts +55 -0
  528. package/dist/metrics/recorder.d.ts.map +1 -0
  529. package/dist/metrics/recorder.js +97 -0
  530. package/dist/metrics/recorder.js.map +1 -0
  531. package/dist/revisions/hash.d.ts +7 -0
  532. package/dist/revisions/hash.d.ts.map +1 -0
  533. package/dist/revisions/hash.js +24 -0
  534. package/dist/revisions/hash.js.map +1 -0
  535. package/dist/revisions/index.d.ts +4 -0
  536. package/dist/revisions/index.d.ts.map +1 -0
  537. package/dist/revisions/index.js +4 -0
  538. package/dist/revisions/index.js.map +1 -0
  539. package/dist/revisions/store.d.ts +69 -0
  540. package/dist/revisions/store.d.ts.map +1 -0
  541. package/dist/revisions/store.js +196 -0
  542. package/dist/revisions/store.js.map +1 -0
  543. package/dist/revisions/types.d.ts +39 -0
  544. package/dist/revisions/types.d.ts.map +1 -0
  545. package/dist/revisions/types.js +2 -0
  546. package/dist/revisions/types.js.map +1 -0
  547. package/dist/server.d.ts +51 -0
  548. package/dist/server.d.ts.map +1 -0
  549. package/dist/server.js +175 -0
  550. package/dist/server.js.map +1 -0
  551. package/dist/skill-tools.d.ts +3 -0
  552. package/dist/skill-tools.d.ts.map +1 -0
  553. package/dist/skill-tools.js +105 -0
  554. package/dist/skill-tools.js.map +1 -0
  555. package/dist/test/test/cli/dispatcher.test.d.ts +2 -0
  556. package/dist/test/test/cli/dispatcher.test.d.ts.map +1 -0
  557. package/dist/test/test/cli/dispatcher.test.js +47 -0
  558. package/dist/test/test/cli/dispatcher.test.js.map +1 -0
  559. package/dist/test/test/cross-ref.test.d.ts +2 -0
  560. package/dist/test/test/cross-ref.test.d.ts.map +1 -0
  561. package/dist/test/test/cross-ref.test.js +39 -0
  562. package/dist/test/test/cross-ref.test.js.map +1 -0
  563. package/dist/test/test/engine/session.test.d.ts +2 -0
  564. package/dist/test/test/engine/session.test.d.ts.map +1 -0
  565. package/dist/test/test/engine/session.test.js +144 -0
  566. package/dist/test/test/engine/session.test.js.map +1 -0
  567. package/dist/test/test/engine/uri-resolver.test.d.ts +2 -0
  568. package/dist/test/test/engine/uri-resolver.test.d.ts.map +1 -0
  569. package/dist/test/test/engine/uri-resolver.test.js +38 -0
  570. package/dist/test/test/engine/uri-resolver.test.js.map +1 -0
  571. package/dist/test/test/frontmatter.test.d.ts +2 -0
  572. package/dist/test/test/frontmatter.test.d.ts.map +1 -0
  573. package/dist/test/test/frontmatter.test.js +55 -0
  574. package/dist/test/test/frontmatter.test.js.map +1 -0
  575. package/dist/test/test/gateway/hosted-stub.test.d.ts +2 -0
  576. package/dist/test/test/gateway/hosted-stub.test.d.ts.map +1 -0
  577. package/dist/test/test/gateway/hosted-stub.test.js +11 -0
  578. package/dist/test/test/gateway/hosted-stub.test.js.map +1 -0
  579. package/dist/test/test/gateway/local.test.d.ts +2 -0
  580. package/dist/test/test/gateway/local.test.d.ts.map +1 -0
  581. package/dist/test/test/gateway/local.test.js +29 -0
  582. package/dist/test/test/gateway/local.test.js.map +1 -0
  583. package/dist/test/test/handbook-contract.test.d.ts +2 -0
  584. package/dist/test/test/handbook-contract.test.d.ts.map +1 -0
  585. package/dist/test/test/handbook-contract.test.js +71 -0
  586. package/dist/test/test/handbook-contract.test.js.map +1 -0
  587. package/dist/test/test/http/server.test.d.ts +2 -0
  588. package/dist/test/test/http/server.test.d.ts.map +1 -0
  589. package/dist/test/test/http/server.test.js +245 -0
  590. package/dist/test/test/http/server.test.js.map +1 -0
  591. package/dist/test/test/http/session-manager.test.d.ts +2 -0
  592. package/dist/test/test/http/session-manager.test.d.ts.map +1 -0
  593. package/dist/test/test/http/session-manager.test.js +83 -0
  594. package/dist/test/test/http/session-manager.test.js.map +1 -0
  595. package/dist/test/test/revisions/hash.test.d.ts +2 -0
  596. package/dist/test/test/revisions/hash.test.d.ts.map +1 -0
  597. package/dist/test/test/revisions/hash.test.js +33 -0
  598. package/dist/test/test/revisions/hash.test.js.map +1 -0
  599. package/dist/test/test/revisions/store.test.d.ts +2 -0
  600. package/dist/test/test/revisions/store.test.d.ts.map +1 -0
  601. package/dist/test/test/revisions/store.test.js +245 -0
  602. package/dist/test/test/revisions/store.test.js.map +1 -0
  603. package/dist/test/test/server.test.d.ts +2 -0
  604. package/dist/test/test/server.test.d.ts.map +1 -0
  605. package/dist/test/test/server.test.js +157 -0
  606. package/dist/test/test/server.test.js.map +1 -0
  607. package/dist/test/test/skill-tools.test.d.ts +2 -0
  608. package/dist/test/test/skill-tools.test.d.ts.map +1 -0
  609. package/dist/test/test/skill-tools.test.js +84 -0
  610. package/dist/test/test/skill-tools.test.js.map +1 -0
  611. package/dist/test/test/smoke.test.d.ts +2 -0
  612. package/dist/test/test/smoke.test.d.ts.map +1 -0
  613. package/dist/test/test/smoke.test.js +8 -0
  614. package/dist/test/test/smoke.test.js.map +1 -0
  615. package/dist/test/test/tools/asset-generate.test.d.ts +2 -0
  616. package/dist/test/test/tools/asset-generate.test.d.ts.map +1 -0
  617. package/dist/test/test/tools/asset-generate.test.js +66 -0
  618. package/dist/test/test/tools/asset-generate.test.js.map +1 -0
  619. package/dist/test/test/tools/edit.test.d.ts +2 -0
  620. package/dist/test/test/tools/edit.test.d.ts.map +1 -0
  621. package/dist/test/test/tools/edit.test.js +205 -0
  622. package/dist/test/test/tools/edit.test.js.map +1 -0
  623. package/dist/test/test/tools/export.test.d.ts +2 -0
  624. package/dist/test/test/tools/export.test.d.ts.map +1 -0
  625. package/dist/test/test/tools/export.test.js +144 -0
  626. package/dist/test/test/tools/export.test.js.map +1 -0
  627. package/dist/test/test/tools/history.test.d.ts +2 -0
  628. package/dist/test/test/tools/history.test.d.ts.map +1 -0
  629. package/dist/test/test/tools/history.test.js +29 -0
  630. package/dist/test/test/tools/history.test.js.map +1 -0
  631. package/dist/test/test/tools/inspect.test.d.ts +2 -0
  632. package/dist/test/test/tools/inspect.test.d.ts.map +1 -0
  633. package/dist/test/test/tools/inspect.test.js +62 -0
  634. package/dist/test/test/tools/inspect.test.js.map +1 -0
  635. package/dist/test/test/tools/list.test.d.ts +2 -0
  636. package/dist/test/test/tools/list.test.d.ts.map +1 -0
  637. package/dist/test/test/tools/list.test.js +23 -0
  638. package/dist/test/test/tools/list.test.js.map +1 -0
  639. package/dist/test/test/tools/open-editor.test.d.ts +2 -0
  640. package/dist/test/test/tools/open-editor.test.d.ts.map +1 -0
  641. package/dist/test/test/tools/open-editor.test.js +53 -0
  642. package/dist/test/test/tools/open-editor.test.js.map +1 -0
  643. package/dist/test/test/tools/preview.test.d.ts +2 -0
  644. package/dist/test/test/tools/preview.test.d.ts.map +1 -0
  645. package/dist/test/test/tools/preview.test.js +73 -0
  646. package/dist/test/test/tools/preview.test.js.map +1 -0
  647. package/dist/test/test/tools/rename.test.d.ts +2 -0
  648. package/dist/test/test/tools/rename.test.d.ts.map +1 -0
  649. package/dist/test/test/tools/rename.test.js +17 -0
  650. package/dist/test/test/tools/rename.test.js.map +1 -0
  651. package/dist/test/test/viewer/broadcaster.test.d.ts +2 -0
  652. package/dist/test/test/viewer/broadcaster.test.d.ts.map +1 -0
  653. package/dist/test/test/viewer/broadcaster.test.js +53 -0
  654. package/dist/test/test/viewer/broadcaster.test.js.map +1 -0
  655. package/dist/test/test/viewer/resource-route.test.d.ts +2 -0
  656. package/dist/test/test/viewer/resource-route.test.d.ts.map +1 -0
  657. package/dist/test/test/viewer/resource-route.test.js +70 -0
  658. package/dist/test/test/viewer/resource-route.test.js.map +1 -0
  659. package/dist/test/test/viewer/router.test.d.ts +2 -0
  660. package/dist/test/test/viewer/router.test.d.ts.map +1 -0
  661. package/dist/test/test/viewer/router.test.js +171 -0
  662. package/dist/test/test/viewer/router.test.js.map +1 -0
  663. package/dist/test/test/viewer/url-builder.test.d.ts +2 -0
  664. package/dist/test/test/viewer/url-builder.test.d.ts.map +1 -0
  665. package/dist/test/test/viewer/url-builder.test.js +31 -0
  666. package/dist/test/test/viewer/url-builder.test.js.map +1 -0
  667. package/dist/test/test/workspace/hosted-stub.test.d.ts +2 -0
  668. package/dist/test/test/workspace/hosted-stub.test.d.ts.map +1 -0
  669. package/dist/test/test/workspace/hosted-stub.test.js +30 -0
  670. package/dist/test/test/workspace/hosted-stub.test.js.map +1 -0
  671. package/dist/test/test/workspace/in-memory.test.d.ts +2 -0
  672. package/dist/test/test/workspace/in-memory.test.d.ts.map +1 -0
  673. package/dist/test/test/workspace/in-memory.test.js +4 -0
  674. package/dist/test/test/workspace/in-memory.test.js.map +1 -0
  675. package/dist/test/test/workspace/node-fs.test.d.ts +2 -0
  676. package/dist/test/test/workspace/node-fs.test.d.ts.map +1 -0
  677. package/dist/test/test/workspace/node-fs.test.js +20 -0
  678. package/dist/test/test/workspace/node-fs.test.js.map +1 -0
  679. package/dist/test/test/workspace/shared-contract.d.ts +3 -0
  680. package/dist/test/test/workspace/shared-contract.d.ts.map +1 -0
  681. package/dist/test/test/workspace/shared-contract.js +92 -0
  682. package/dist/test/test/workspace/shared-contract.js.map +1 -0
  683. package/dist/test/tsconfig.test.tsbuildinfo +1 -0
  684. package/dist/test/vitest.config.d.ts +3 -0
  685. package/dist/test/vitest.config.d.ts.map +1 -0
  686. package/dist/test/vitest.config.js +8 -0
  687. package/dist/test/vitest.config.js.map +1 -0
  688. package/dist/tools/asset-generate.d.ts +12 -0
  689. package/dist/tools/asset-generate.d.ts.map +1 -0
  690. package/dist/tools/asset-generate.js +112 -0
  691. package/dist/tools/asset-generate.js.map +1 -0
  692. package/dist/tools/asset-search.d.ts +10 -0
  693. package/dist/tools/asset-search.d.ts.map +1 -0
  694. package/dist/tools/asset-search.js +120 -0
  695. package/dist/tools/asset-search.js.map +1 -0
  696. package/dist/tools/content-types.d.ts +11 -0
  697. package/dist/tools/content-types.d.ts.map +1 -0
  698. package/dist/tools/content-types.js +2 -0
  699. package/dist/tools/content-types.js.map +1 -0
  700. package/dist/tools/edit.d.ts +29 -0
  701. package/dist/tools/edit.d.ts.map +1 -0
  702. package/dist/tools/edit.js +165 -0
  703. package/dist/tools/edit.js.map +1 -0
  704. package/dist/tools/engine.d.ts +31 -0
  705. package/dist/tools/engine.d.ts.map +1 -0
  706. package/dist/tools/engine.js +59 -0
  707. package/dist/tools/engine.js.map +1 -0
  708. package/dist/tools/export.d.ts +19 -0
  709. package/dist/tools/export.d.ts.map +1 -0
  710. package/dist/tools/export.js +179 -0
  711. package/dist/tools/export.js.map +1 -0
  712. package/dist/tools/history.d.ts +7 -0
  713. package/dist/tools/history.d.ts.map +1 -0
  714. package/dist/tools/history.js +54 -0
  715. package/dist/tools/history.js.map +1 -0
  716. package/dist/tools/index.d.ts +35 -0
  717. package/dist/tools/index.d.ts.map +1 -0
  718. package/dist/tools/index.js +72 -0
  719. package/dist/tools/index.js.map +1 -0
  720. package/dist/tools/inspect.d.ts +7 -0
  721. package/dist/tools/inspect.d.ts.map +1 -0
  722. package/dist/tools/inspect.js +80 -0
  723. package/dist/tools/inspect.js.map +1 -0
  724. package/dist/tools/list.d.ts +7 -0
  725. package/dist/tools/list.d.ts.map +1 -0
  726. package/dist/tools/list.js +18 -0
  727. package/dist/tools/list.js.map +1 -0
  728. package/dist/tools/metrics.d.ts +11 -0
  729. package/dist/tools/metrics.d.ts.map +1 -0
  730. package/dist/tools/metrics.js +28 -0
  731. package/dist/tools/metrics.js.map +1 -0
  732. package/dist/tools/open-editor.d.ts +10 -0
  733. package/dist/tools/open-editor.d.ts.map +1 -0
  734. package/dist/tools/open-editor.js +62 -0
  735. package/dist/tools/open-editor.js.map +1 -0
  736. package/dist/tools/preview.d.ts +12 -0
  737. package/dist/tools/preview.d.ts.map +1 -0
  738. package/dist/tools/preview.js +104 -0
  739. package/dist/tools/preview.js.map +1 -0
  740. package/dist/tools/rename.d.ts +7 -0
  741. package/dist/tools/rename.d.ts.map +1 -0
  742. package/dist/tools/rename.js +39 -0
  743. package/dist/tools/rename.js.map +1 -0
  744. package/dist/tools/result.d.ts +12 -0
  745. package/dist/tools/result.d.ts.map +1 -0
  746. package/dist/tools/result.js +55 -0
  747. package/dist/tools/result.js.map +1 -0
  748. package/dist/tools/save.d.ts +19 -0
  749. package/dist/tools/save.d.ts.map +1 -0
  750. package/dist/tools/save.js +117 -0
  751. package/dist/tools/save.js.map +1 -0
  752. package/dist/viewer/broadcaster.d.ts +13 -0
  753. package/dist/viewer/broadcaster.d.ts.map +1 -0
  754. package/dist/viewer/broadcaster.js +44 -0
  755. package/dist/viewer/broadcaster.js.map +1 -0
  756. package/dist/viewer/index.d.ts +7 -0
  757. package/dist/viewer/index.d.ts.map +1 -0
  758. package/dist/viewer/index.js +7 -0
  759. package/dist/viewer/index.js.map +1 -0
  760. package/dist/viewer/listener.d.ts +16 -0
  761. package/dist/viewer/listener.d.ts.map +1 -0
  762. package/dist/viewer/listener.js +30 -0
  763. package/dist/viewer/listener.js.map +1 -0
  764. package/dist/viewer/presigned-r2-url-builder.d.ts +30 -0
  765. package/dist/viewer/presigned-r2-url-builder.d.ts.map +1 -0
  766. package/dist/viewer/presigned-r2-url-builder.js +40 -0
  767. package/dist/viewer/presigned-r2-url-builder.js.map +1 -0
  768. package/dist/viewer/resource-route.d.ts +9 -0
  769. package/dist/viewer/resource-route.d.ts.map +1 -0
  770. package/dist/viewer/resource-route.js +59 -0
  771. package/dist/viewer/resource-route.js.map +1 -0
  772. package/dist/viewer/router.d.ts +20 -0
  773. package/dist/viewer/router.d.ts.map +1 -0
  774. package/dist/viewer/router.js +142 -0
  775. package/dist/viewer/router.js.map +1 -0
  776. package/dist/viewer/session-mount.d.ts +10 -0
  777. package/dist/viewer/session-mount.d.ts.map +1 -0
  778. package/dist/viewer/session-mount.js +24 -0
  779. package/dist/viewer/session-mount.js.map +1 -0
  780. package/dist/viewer/spa-assets.generated.d.ts +2 -0
  781. package/dist/viewer/spa-assets.generated.d.ts.map +1 -0
  782. package/dist/viewer/spa-assets.generated.js +989 -0
  783. package/dist/viewer/spa-assets.generated.js.map +1 -0
  784. package/dist/viewer/url-builder.d.ts +48 -0
  785. package/dist/viewer/url-builder.d.ts.map +1 -0
  786. package/dist/viewer/url-builder.js +38 -0
  787. package/dist/viewer/url-builder.js.map +1 -0
  788. package/dist/workspace/hosted-stub.d.ts +28 -0
  789. package/dist/workspace/hosted-stub.d.ts.map +1 -0
  790. package/dist/workspace/hosted-stub.js +44 -0
  791. package/dist/workspace/hosted-stub.js.map +1 -0
  792. package/dist/workspace/in-memory.d.ts +23 -0
  793. package/dist/workspace/in-memory.d.ts.map +1 -0
  794. package/dist/workspace/in-memory.js +161 -0
  795. package/dist/workspace/in-memory.js.map +1 -0
  796. package/dist/workspace/index.d.ts +6 -0
  797. package/dist/workspace/index.d.ts.map +1 -0
  798. package/dist/workspace/index.js +6 -0
  799. package/dist/workspace/index.js.map +1 -0
  800. package/dist/workspace/node-fs.d.ts +23 -0
  801. package/dist/workspace/node-fs.d.ts.map +1 -0
  802. package/dist/workspace/node-fs.js +90 -0
  803. package/dist/workspace/node-fs.js.map +1 -0
  804. package/dist/workspace/s3.d.ts +32 -0
  805. package/dist/workspace/s3.d.ts.map +1 -0
  806. package/dist/workspace/s3.js +191 -0
  807. package/dist/workspace/s3.js.map +1 -0
  808. package/dist/workspace/scoped.d.ts +32 -0
  809. package/dist/workspace/scoped.d.ts.map +1 -0
  810. package/dist/workspace/scoped.js +76 -0
  811. package/dist/workspace/scoped.js.map +1 -0
  812. package/dist/workspace/types.d.ts +75 -0
  813. package/dist/workspace/types.d.ts.map +1 -0
  814. package/dist/workspace/types.js +18 -0
  815. package/dist/workspace/types.js.map +1 -0
  816. package/package.json +80 -0
@@ -0,0 +1,745 @@
1
+ > This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
2
+
3
+ **Navigation:** [Starter Kits](./starterkits.md) > [Creative Automation](./starterkits/creative-automation.md) > [Mockup Editor](./starterkits/mockup-editor.md)
4
+
5
+ ---
6
+
7
+ Easily visualize the final product with the Mockup Editor. Suitable for apparel, postcards, posters, business cards, and social media product designs.
8
+
9
+ ![Mockup Editor starter kit showing a professional mockup editor interface](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
10
+
11
+ > **Reading time:** 10 minutes
12
+ >
13
+ > **Resources:**
14
+ >
15
+ > - [Download examples](https://github.com/imgly/starterkit-product-preview-react-web/archive/refs/tags/release-$UBQ_VERSION$.zip)
16
+ > - [View source on GitHub](https://github.com/imgly/starterkit-product-preview-react-web/tree/release-$UBQ_VERSION$)
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/starterkit-product-preview-react-web/tree/release-$UBQ_VERSION$)
18
+ > - [Live demo](https://img.ly/docs/cesdk/examples/starterkit-product-preview/)
19
+
20
+ ---
21
+
22
+ ## Pre-requisites
23
+
24
+ This guide assumes basic familiarity with JavaScript or TypeScript and React.
25
+
26
+ - **Node.js v20+** with npm – [Download](https://nodejs.org/)
27
+ - **Supported browsers** – Chrome 114+, Edge 114+, Firefox 115+, Safari 15.6+<br />
28
+ See [Browser Support](./browser-support.md) for the full list
29
+
30
+ ---
31
+
32
+ <Tabs syncKey="project-type">
33
+ <TabItem label="New Project">
34
+ ## Get Started
35
+
36
+ Start fresh with a standalone Mockup Editor project. This creates a complete, ready-to-run React application.
37
+
38
+ ## Step 1: Clone the Repository
39
+
40
+ <TerminalTabs>
41
+ <TerminalTab label="git">
42
+ git clone https://github.com/imgly/starterkit-product-preview-react-web.git
43
+ </TerminalTab>
44
+
45
+ <TerminalTab label="degit">
46
+ npx degit imgly/starterkit-product-preview-react-web starterkit-product-preview-react-web
47
+ </TerminalTab>
48
+ </TerminalTabs>
49
+
50
+ The `src/` folder contains the editor code:
51
+
52
+ ```
53
+ src/
54
+ ├── app/ # Demo application
55
+ ├── constants.ts # Configuration constants
56
+ ├── imgly/
57
+ │ ├── config/
58
+ │ │ ├── actions.ts # Export/import actions
59
+ │ │ ├── features.ts # Feature toggles
60
+ │ │ ├── i18n.ts # Translations
61
+ │ │ ├── plugin.ts # Main configuration plugin
62
+ │ │ ├── settings.ts # Engine settings
63
+ │ │ └── ui/
64
+ │ │ ├── canvas.ts # Canvas configuration
65
+ │ │ ├── components.ts # Custom component registration
66
+ │ │ ├── dock.ts # Dock layout configuration
67
+ │ │ ├── index.ts # Combines UI customization exports
68
+ │ │ ├── inspectorBar.ts # Inspector bar layout
69
+ │ │ ├── navigationBar.ts # Navigation bar layout
70
+ │ │ └── panel.ts # Panel configuration
71
+ │ ├── index.ts # Editor initialization function
72
+ │ ├── mockup.ts # Mockup rendering utilities
73
+ │ └── types.ts # TypeScript type definitions
74
+ └── index.tsx # Application entry point
75
+ ```
76
+
77
+ ## Step 2: Install Dependencies
78
+
79
+ Install the required packages:
80
+
81
+ <TerminalTabs syncKey="package-manager">
82
+ <TerminalTab label="npm">
83
+ cd starterkit-product-preview-react-web
84
+ npm install
85
+ </TerminalTab>
86
+
87
+ <TerminalTab label="pnpm">
88
+ cd starterkit-product-preview-react-web
89
+ pnpm install
90
+ </TerminalTab>
91
+
92
+ <TerminalTab label="yarn">
93
+ cd starterkit-product-preview-react-web
94
+ yarn
95
+ </TerminalTab>
96
+ </TerminalTabs>
97
+
98
+ ## Step 3: Download Assets
99
+
100
+ CE.SDK requires engine assets (fonts, icons, UI elements) to function. These must be served as static files from your project's `public/` directory.
101
+
102
+ <TerminalTabs>
103
+ <TerminalTab label="Download">
104
+ curl -O https://cdn.img.ly/packages/imgly/cesdk-js/$UBQ\_VERSION$/imgly-assets.zip
105
+ unzip imgly-assets.zip -d public/
106
+ rm imgly-assets.zip
107
+ </TerminalTab>
108
+ </TerminalTabs>
109
+
110
+ > **Asset Configuration:** The starter kit is pre-configured to load assets from `/assets`. If you place assets in a different location, update the `baseURL` in `src/index.tsx`.
111
+
112
+ ```typescript title="src/index.tsx"
113
+ const config: Configuration = {
114
+ // ...
115
+ baseURL: '/assets'
116
+ // ...
117
+ };
118
+ ```
119
+
120
+ ## Step 4: Run the Development Server
121
+
122
+ <TerminalTabs syncKey="package-manager">
123
+ <TerminalTab label="npm">
124
+ npm run dev
125
+ </TerminalTab>
126
+
127
+ <TerminalTab label="pnpm">
128
+ pnpm run dev
129
+ </TerminalTab>
130
+
131
+ <TerminalTab label="yarn">
132
+ yarn dev
133
+ </TerminalTab>
134
+ </TerminalTabs>
135
+
136
+ Open `http://localhost:5173` in your browser.
137
+
138
+ </TabItem>
139
+
140
+ <TabItem label="Existing Project">
141
+ ## Get Started
142
+
143
+ Integrate the Mockup Editor into an existing web application. This adds the editor configuration to your current project structure.
144
+
145
+ ## Step 1: Clone
146
+
147
+ <TerminalTabs>
148
+ <TerminalTab label="Navigate">
149
+ cd your-project
150
+ </TerminalTab>
151
+ </TerminalTabs>
152
+
153
+ Clone the starter kit and copy the editor configuration to your project:
154
+
155
+ <TerminalTabs>
156
+ <TerminalTab label="git">
157
+ git clone https://github.com/imgly/starterkit-product-preview-react-web.git
158
+ cp -r starterkit-product-preview-react-web/src/imgly ./src/imgly
159
+ rm -rf starterkit-product-preview-react-web
160
+ </TerminalTab>
161
+
162
+ <TerminalTab label="degit">
163
+ npx degit imgly/starterkit-product-preview-react-web/src/imgly ./src/imgly
164
+ </TerminalTab>
165
+ </TerminalTabs>
166
+
167
+ > **Adjust Path:** The default destination is `./src/imgly`. Adjust the path to match your project structure.
168
+
169
+ The `imgly/` folder contains the editor configuration and mockup rendering logic:
170
+
171
+ ```
172
+ imgly/
173
+ ├── config/
174
+ │ ├── actions.ts # Export/import actions
175
+ │ ├── features.ts # Feature toggles
176
+ │ ├── i18n.ts # Translations
177
+ │ ├── plugin.ts # Main configuration plugin
178
+ │ ├── settings.ts # Engine settings
179
+ │ └── ui/
180
+ │ ├── canvas.ts # Canvas configuration
181
+ │ ├── components.ts # Custom component registration
182
+ │ ├── dock.ts # Dock layout configuration
183
+ │ ├── index.ts # Combines UI customization exports
184
+ │ ├── inspectorBar.ts # Inspector bar layout
185
+ │ ├── navigationBar.ts # Navigation bar layout
186
+ │ └── panel.ts # Panel configuration
187
+ ├── index.ts # Editor initialization function
188
+ ├── mockup.ts # Mockup rendering utilities
189
+ └── types.ts # TypeScript type definitions
190
+ ```
191
+
192
+ ## Step 2: Install Dependencies
193
+
194
+ Install the required packages for the editor:
195
+
196
+ ### Core Editor
197
+
198
+ Install the Creative Editor SDK and the headless engine:
199
+
200
+ <TerminalTabs syncKey="package-manager">
201
+ <TerminalTab label="npm">
202
+ npm install @cesdk/cesdk-js@$UBQ\_VERSION$ @cesdk/engine@$UBQ\_VERSION$
203
+ </TerminalTab>
204
+
205
+ <TerminalTab label="pnpm">
206
+ pnpm add @cesdk/cesdk-js@$UBQ\_VERSION$ @cesdk/engine@$UBQ\_VERSION$
207
+ </TerminalTab>
208
+
209
+ <TerminalTab label="yarn">
210
+ yarn add @cesdk/cesdk-js@$UBQ\_VERSION$ @cesdk/engine@$UBQ\_VERSION$
211
+ </TerminalTab>
212
+ </TerminalTabs>
213
+
214
+ The mockup editor uses two engines:
215
+
216
+ - `@cesdk/cesdk-js` -- The design editor where users edit their designs
217
+ - `@cesdk/engine` -- A headless engine for background mockup rendering
218
+
219
+ ## Step 3: Download Assets
220
+
221
+ CE.SDK requires engine assets (fonts, icons, UI elements) to function. These must be served as static files from your project's `public/` directory.
222
+
223
+ <TerminalTabs>
224
+ <TerminalTab label="Download">
225
+ curl -O https://cdn.img.ly/packages/imgly/cesdk-js/$UBQ\_VERSION$/imgly-assets.zip
226
+ unzip imgly-assets.zip -d public/
227
+ rm imgly-assets.zip
228
+ </TerminalTab>
229
+ </TerminalTabs>
230
+
231
+ > **Asset Configuration:** The starter kit is pre-configured to load assets from `/assets`. If you place assets in a different location, update the `baseURL` in Step 5: Initialize the Editor.
232
+
233
+ ## Step 4: Add a Container Element
234
+
235
+ Add a container element to your HTML where the editor will be mounted:
236
+
237
+ ```html
238
+ <div id="cesdk_container" style="width: 100%; height: 100vh;"></div>
239
+ ```
240
+
241
+ ## Step 5: Initialize the Editor
242
+
243
+ Choose your editing mode and initialize the editor accordingly:
244
+
245
+ <Tabs syncKey="editor-mode">
246
+ <TabItem label="Design Editor">
247
+ ```typescript title="src/index.tsx"
248
+ import CreativeEditorSDK from '@cesdk/cesdk-js';
249
+
250
+ import { initProductPreviewDesignEditor } from './imgly';
251
+
252
+ const config = {
253
+ userId: 'your-user-id',
254
+ baseURL: '/assets'
255
+ // license: 'YOUR_LICENSE_KEY',
256
+ };
257
+
258
+ CreativeEditorSDK.create('#cesdk_container', config)
259
+ .then(async (cesdk) => {
260
+ await initProductPreviewDesignEditor(cesdk);
261
+ })
262
+ .catch((error) => {
263
+ console.error('Failed to initialize CE.SDK:', error);
264
+ });
265
+ ```
266
+ </TabItem>
267
+
268
+ <TabItem label="Mockup Scene Editor">
269
+ ```typescript title="src/index.tsx"
270
+ import CreativeEditorSDK from '@cesdk/cesdk-js';
271
+
272
+ import { initProductPreviewSceneEditor } from './imgly';
273
+
274
+ const config = {
275
+ userId: 'your-user-id',
276
+ baseURL: '/assets'
277
+ // license: 'YOUR_LICENSE_KEY',
278
+ };
279
+
280
+ CreativeEditorSDK.create('#cesdk_container', config)
281
+ .then(async (cesdk) => {
282
+ await initProductPreviewSceneEditor(cesdk);
283
+ })
284
+ .catch((error) => {
285
+ console.error('Failed to initialize CE.SDK:', error);
286
+ });
287
+ ```
288
+ </TabItem>
289
+ </Tabs>
290
+
291
+ </TabItem>
292
+ </Tabs>
293
+
294
+ ---
295
+
296
+ ## Dual-Engine Architecture
297
+
298
+ The Mockup Editor uses a unique dual-engine architecture for real-time mockup rendering:
299
+
300
+ ```
301
+ ┌─────────────────────────┐ ┌─────────────────────────┐
302
+ │ Design Editor SDK │ │ Headless Engine │
303
+ │ (User Interface) │ │ (Background Render) │
304
+ ├─────────────────────────┤ ├─────────────────────────┤
305
+ │ • User edits designs │ │ • Loads mockup scene │
306
+ │ • Full editing UI │ ──► │ • Composites designs │
307
+ │ • History management │ │ • Exports final mockup │
308
+ └─────────────────────────┘ └─────────────────────────┘
309
+ ```
310
+
311
+ **How it works:**
312
+
313
+ 1. Users edit their design in the main CE.SDK editor
314
+ 2. On each change, design pages are exported as PNG blobs
315
+ 3. The `renderMockup` function composites designs onto the mockup scene
316
+ 4. The rendered mockup is displayed as a preview
317
+
318
+ This architecture keeps the user's editing session uninterrupted while rendering mockups in the background.
319
+
320
+ ```typescript title="src/imgly/mockup.ts"
321
+ import { renderMockup, CLEAR_IMAGE } from './imgly';
322
+
323
+ // Render designs onto mockup scene
324
+ const result = await renderMockup(
325
+ engine, // Headless CreativeEngine
326
+ 'https://example.com/mockup.scene', // Scene URL or { sceneString }
327
+ {
328
+ 'Image 1': designBlob, // Placeholder name → Blob or URL
329
+ 'Image 2': CLEAR_IMAGE // Clear unused placeholders
330
+ }
331
+ );
332
+
333
+ // result.mockupUrl - Blob URL of rendered mockup
334
+ // result.sceneString - Serialized scene for editing
335
+ // result.blobUrls - URLs to revoke when done
336
+ ```
337
+
338
+ ---
339
+
340
+ ## Set Up a Scene
341
+
342
+ CE.SDK offers multiple ways to load content into the editor. Choose the method that matches your use case:
343
+
344
+ ```typescript title="src/index.tsx"
345
+ // Create a blank design canvas - starts with an empty design scene
346
+ await cesdk.actions.run('scene.create');
347
+
348
+ // Load from a template archive - restores a previously saved project
349
+ await cesdk.loadFromArchiveURL('https://example.com/template.zip');
350
+
351
+ // Load from an image URL - creates a new scene with the image
352
+ await cesdk.createFromImage('https://example.com/image.jpg');
353
+
354
+ // Load from a scene file - restores a scene from JSON
355
+ await cesdk.loadFromURL('https://example.com/scene.json');
356
+ ```
357
+
358
+ The `createDesignScene()` method is ideal for design workflows, as it creates a blank canvas ready for content.
359
+
360
+ > **More Loading Options:** See [Open the Editor](./open-the-editor.md) for all available loading methods.
361
+
362
+ ## Customize Assets
363
+
364
+ The Mockup Editor uses asset source plugins to provide built-in libraries for templates, stickers, shapes, and fonts. The starter kit includes a curated selection—customize what's included based on your needs.
365
+
366
+ Asset sources are added via plugins in `src/imgly/index.ts`. Enable or disable individual sources:
367
+
368
+ ```typescript title="src/imgly/index.ts"
369
+ import {
370
+ FiltersAssetSource,
371
+ StickerAssetSource,
372
+ TextAssetSource,
373
+ VectorShapeAssetSource,
374
+ EffectsAssetSource
375
+ // ...
376
+ } from '@cesdk/cesdk-js/plugins';
377
+
378
+ // Add only the sources you need
379
+ await cesdk.addPlugin(new FiltersAssetSource());
380
+ await cesdk.addPlugin(new StickerAssetSource());
381
+ await cesdk.addPlugin(new TextAssetSource());
382
+ await cesdk.addPlugin(new VectorShapeAssetSource());
383
+ await cesdk.addPlugin(new EffectsAssetSource());
384
+ // ...
385
+ ```
386
+
387
+ > **Available Asset Sources:** See [Asset Source Plugins](./plugins/asset-sources.md) for the complete list of available sources.
388
+
389
+ For production deployments, self-hosting assets is required—the IMG.LY CDN is intended for development only. See [Serve Assets](./serve-assets.md) for downloading assets, configuring `baseURL`, and excluding unused sources to optimize load times.
390
+
391
+ ## Configure Actions
392
+
393
+ Actions are functions that handle user interactions like exporting designs, saving scenes, and importing files. CE.SDK provides built-in actions that you can run directly or override with custom implementations.
394
+
395
+ **Key built-in actions:**
396
+
397
+ - `exportDesign` – Export the current design to PNG, JPEG, PDF, or other formats
398
+ - `saveScene` – Save the scene as a JSON string for later editing
399
+ - `importScene` – Import a previously saved scene (supports `.scene` and `.cesdk` formats)
400
+ - `exportScene` – Export the scene as a JSON file or `.cesdk` archive with all assets
401
+ - `uploadFile` – Handle file uploads with progress tracking
402
+
403
+ Use `cesdk.actions.run()` to execute any action:
404
+
405
+ ```typescript
406
+ // Run a built-in action
407
+ await cesdk.actions.run('exportDesign', { mimeType: 'image/png' });
408
+ ```
409
+
410
+ #### Import from File Picker
411
+
412
+ ```typescript title="src/imgly/config/actions.ts"
413
+ // Let users open images from their device
414
+ cesdk.actions.register('importImage', async () => {
415
+ const blobURL = await cesdk.utils.loadFile({
416
+ accept: 'image/*',
417
+ returnType: 'objectURL'
418
+ });
419
+ await cesdk.createFromImage(blobURL);
420
+ });
421
+ ```
422
+
423
+ #### Export and Save
424
+
425
+ ```typescript title="src/imgly/config/actions.ts"
426
+ // Register export action that downloads the edited design
427
+ cesdk.actions.register('exportDesign', async (exportOptions) => {
428
+ const { blobs, options } = await cesdk.utils.export(exportOptions);
429
+ await cesdk.utils.downloadFile(blobs[0], options.mimeType);
430
+ });
431
+ ```
432
+
433
+ #### Upload to Your Backend
434
+
435
+ ```typescript title="src/imgly/config/actions.ts"
436
+ // Override the built-in exportDesign action to send to your server
437
+ cesdk.actions.register('exportDesign', async (exportOptions) => {
438
+ const { blobs } = await cesdk.utils.export(exportOptions);
439
+
440
+ const formData = new FormData();
441
+ formData.append('design', blobs[0], 'design.png');
442
+
443
+ const response = await fetch('/api/upload', {
444
+ method: 'POST',
445
+ body: formData
446
+ });
447
+
448
+ const { url } = await response.json();
449
+ console.log('Uploaded to:', url);
450
+ });
451
+ ```
452
+
453
+ > **Learn More:** See [Actions](./actions.md) for the full list of built-in actions, how to run them, and how to register custom actions.
454
+
455
+ ---
456
+
457
+ ## Customize (Optional)
458
+
459
+ ### Theming
460
+
461
+ CE.SDK supports light and dark themes out of the box, plus automatic system preference detection. Switch between themes programmatically:
462
+
463
+ ```typescript title="src/imgly/config/settings.ts"
464
+ // 'light' | 'dark' | 'system' | (() => 'light' | 'dark')
465
+ cesdk.ui.setTheme('dark');
466
+ ```
467
+
468
+ See [Theming](./user-interface/appearance/theming.md) for custom color schemes, CSS variables, and advanced styling options.
469
+
470
+ ### Localization
471
+
472
+ Customize UI labels and add support for multiple languages. The i18n system supports translation keys for all UI elements:
473
+
474
+ ```typescript title="src/imgly/config/i18n.ts"
475
+ // Override specific labels
476
+ cesdk.i18n.setTranslations({
477
+ en: {
478
+ 'actions.export.image': 'Download Design',
479
+ 'common.cancel': 'Cancel',
480
+ 'common.apply': 'Apply'
481
+ }
482
+ });
483
+
484
+ // Add a new language
485
+ cesdk.i18n.setTranslations({
486
+ de: {
487
+ 'actions.export.image': 'Design herunterladen'
488
+ }
489
+ });
490
+
491
+ // Set the active locale
492
+ cesdk.i18n.setLocale('de');
493
+ ```
494
+
495
+ See [Localization](./user-interface/localization.md) for supported languages, translation key reference, and right-to-left language support.
496
+
497
+ ### UI Layout
498
+
499
+ ![CE.SDK Editor UI Areas](https://img.ly/docs/cesdk/../_shared/assets/CESDK-UI.png)
500
+
501
+ Customize the editor interface by modifying the dock, inspector bar, navigation bar, and canvas menu. CE.SDK provides Order APIs to control which components appear and in what sequence.
502
+
503
+ ```typescript title="src/imgly/config/ui/navigationBar.ts"
504
+ // Get current navigation bar components
505
+ const navOrder = cesdk.ui.getNavigationBarOrder();
506
+
507
+ // Add a custom button to the navigation bar
508
+ cesdk.ui.insertNavigationBarOrderComponent(
509
+ 'ly.img.spacer',
510
+ { id: 'my-custom-action' },
511
+ 'after'
512
+ );
513
+
514
+ // Rearrange dock items
515
+ cesdk.ui.setDockOrder([
516
+ 'ly.img.assetLibrary.dock',
517
+ 'ly.img.separator',
518
+ 'my-custom-dock-item'
519
+ ]);
520
+
521
+ // Customize the inspector bar
522
+ cesdk.ui.setInspectorBarOrder([
523
+ 'ly.img.fill.inspectorBar',
524
+ 'ly.img.separator',
525
+ 'ly.img.filter.inspectorBar'
526
+ ]);
527
+ ```
528
+
529
+ The Order API methods follow a consistent pattern across all UI areas:
530
+
531
+ - `get*Order()` – Retrieve the current component order
532
+ - `set*Order()` – Replace the entire order
533
+ - `insert*OrderComponent()` – Add components relative to existing ones
534
+
535
+ See [Dock](./user-interface/customization/dock.md), [Inspector Bar](./user-interface/customization/inspector-bar.md), [Navigation Bar](./user-interface/customization/navigation-bar.md), [Canvas Menu](./user-interface/customization/canvas-menu.md), and [Canvas](./user-interface/customization/canvas.md) for detailed layout customization options.
536
+
537
+ ### Custom Components
538
+
539
+ Build custom UI components using the builder system and integrate them in the editor. Custom components receive reactive state updates and can interact with the engine API.
540
+
541
+ ```typescript title="src/imgly/config/ui/components.ts"
542
+ // Register a custom component
543
+ cesdk.ui.registerComponent('my-custom-button', ({ builder, engine }) => {
544
+ const selectedBlocks = engine.block.findAllSelected();
545
+
546
+ builder.Button('apply-effect', {
547
+ label: 'Apply Effect',
548
+ isDisabled: selectedBlocks.length === 0,
549
+ onClick: () => {
550
+ // Apply custom logic to selected blocks
551
+ }
552
+ });
553
+ });
554
+
555
+ // Add the component to the navigation bar
556
+ cesdk.ui.insertNavigationBarOrderComponent(
557
+ 'ly.img.spacer',
558
+ 'my-custom-button',
559
+ 'after'
560
+ );
561
+ ```
562
+
563
+ Custom components automatically re-render when the engine state they depend on changes—no manual subscription management required.
564
+
565
+ See [Register New Component](./user-interface/ui-extensions/register-new-component.md) for the complete builder API and component patterns.
566
+
567
+ ### Settings & Features
568
+
569
+ Fine-tune editor behavior through settings and features.
570
+
571
+ **Settings** configure core engine behavior—rendering, input handling, and history management:
572
+
573
+ ```typescript title="src/imgly/config/settings.ts"
574
+ cesdk.engine.editor.setSettingBool('page/dimOutOfPageAreas', true);
575
+ cesdk.engine.editor.setSettingBool('mouse/enableZoomControl', true);
576
+ cesdk.engine.editor.setSettingBool('features/undoHistory', true);
577
+ ```
578
+
579
+ **Features** toggle which editing tools and panels appear in the UI:
580
+
581
+ ```typescript title="src/imgly/config/features.ts"
582
+ // Toggle editor features
583
+ cesdk.feature.enable('ly.img.crop', true);
584
+ cesdk.feature.enable('ly.img.filter', true);
585
+ cesdk.feature.enable('ly.img.adjustment', true);
586
+ ```
587
+
588
+ See [Settings](./settings.md) and [Features](./user-interface/customization/disable-or-enable.md) for the complete reference.
589
+
590
+ ### Explore Plugins
591
+
592
+ CE.SDK has a rich plugin ecosystem that extends the editor with powerful capabilities. Plugins can add new features, integrate third-party services, or customize editor behavior.
593
+
594
+ #### Background Removal
595
+
596
+ Add AI-powered background removal that runs entirely client-side. The background removal plugin processes images directly in the browser without sending data to external servers.
597
+
598
+ ```typescript title="src/imgly/index.ts"
599
+ import BackgroundRemovalPlugin from '@imgly/plugin-background-removal';
600
+
601
+ // Add background removal capability
602
+ await cesdk.addPlugin(BackgroundRemovalPlugin());
603
+ ```
604
+
605
+ See [Background Removal](./edit-image/remove-bg.md) for setup instructions and configuration options.
606
+
607
+ #### Print Ready PDF
608
+
609
+ Export print-ready PDF/X-3 files with CMYK color profiles for professional printing workflows.
610
+
611
+ ```typescript title="src/imgly/index.ts"
612
+ import PrintReadyPDFPlugin from '@imgly/plugin-print-ready-pdf';
613
+
614
+ // Add print-ready PDF export capability
615
+ await cesdk.addPlugin(PrintReadyPDFPlugin());
616
+ ```
617
+
618
+ See [Print Ready PDF](./plugins/print-ready-pdf.md) for setup instructions and configuration options.
619
+
620
+ #### Custom Asset Sources
621
+
622
+ Connect external asset libraries like Unsplash, Getty Images, or your own content management system. Asset sources let users browse and insert content from any source.
623
+
624
+ ```typescript title="src/imgly/index.ts"
625
+ import UnsplashAssetSource from '@imgly/plugin-unsplash';
626
+
627
+ // Add Unsplash integration
628
+ await cesdk.addPlugin(
629
+ UnsplashAssetSource({
630
+ accessKey: 'your-unsplash-access-key'
631
+ })
632
+ );
633
+ ```
634
+
635
+ See [Custom Asset Sources](./import-media/from-remote-source/unsplash.md) for integration patterns.
636
+
637
+ #### Discover More Plugins
638
+
639
+ Explore the full plugin ecosystem in the [IMG.LY plugins repository](https://github.com/imgly/plugins). Available plugins include:
640
+
641
+ - **Vectorizer** – Convert raster images to vectors
642
+ - **Design Presets** – Pre-built design templates
643
+ - **Social Media Templates** – Platform-specific sizing
644
+ - **And more** – Check the repository for the latest additions
645
+
646
+ ---
647
+
648
+ ## Key Capabilities
649
+
650
+ The Mockup Editor includes everything needed for professional mockup rendering.
651
+
652
+ <CapabilityGrid
653
+ features={[
654
+ {
655
+ title: 'Real-Time Preview',
656
+ description:
657
+ 'See designs rendered on product mockups instantly as you edit, with automatic refresh on changes.',
658
+ imageId: 'transform',
659
+ },
660
+ {
661
+ title: 'Multiple Products',
662
+ description:
663
+ 'Switch between product types like business cards, posters, apparel, and more with dedicated mockup scenes.',
664
+ imageId: 'filters',
665
+ },
666
+ {
667
+ title: 'Mockup Editing',
668
+ description:
669
+ 'Customize mockup scenes—adjust backgrounds, reposition designs, and fine-tune the final presentation.',
670
+ imageId: 'green-screen',
671
+ },
672
+ {
673
+ title: 'Text & Typography',
674
+ description:
675
+ 'Add styled text with comprehensive typography controls, fonts, and visual effects.',
676
+ imageId: 'text-editing',
677
+ },
678
+ {
679
+ title: 'Asset Libraries',
680
+ description:
681
+ 'Access built-in collections of templates, stickers, shapes, and graphics, plus import custom assets.',
682
+ imageId: 'asset-libraries',
683
+ },
684
+ {
685
+ title: 'Export Options',
686
+ description:
687
+ 'Export mockups to multiple formats including PNG, JPEG, and PDF with quality and size controls.',
688
+ imageId: 'client-side',
689
+ },
690
+ ]}
691
+ />
692
+
693
+ <br />
694
+
695
+ > **Free Trial:** [Sign up for a free trial](https://img.ly/forms/free-trial) to get a license key and remove the watermark.
696
+
697
+ ---
698
+
699
+ ## Troubleshooting
700
+
701
+ ### Editor doesn't load
702
+
703
+ - **Check the container element exists**: Ensure your container element is in the DOM before calling `create()`
704
+ - **Verify the baseURL**: Assets must be accessible from the CDN or your self-hosted location
705
+ - **Check console errors**: Look for CORS or network errors in browser developer tools
706
+
707
+ ### Assets don't appear
708
+
709
+ - **Check network requests**: Open DevTools Network tab and look for failed requests to `cdn.img.ly`
710
+ - **Self-host assets for production**: See [Serve Assets](./serve-assets.md) to host assets on your infrastructure
711
+
712
+ ### Mockup doesn't update
713
+
714
+ - **Check engine initialization**: Ensure both the design SDK and headless engine are initialized
715
+ - **Verify scene loading**: The mockup scene must load successfully before rendering
716
+ - **Check placeholder names**: Placeholders in mockup scenes must match the naming pattern (e.g., "Image 1", "Image 2")
717
+
718
+ ### Export fails or produces blank images
719
+
720
+ - **Wait for content to load**: Ensure images are fully loaded before exporting
721
+ - **Check CORS on images**: Remote images must allow cross-origin access
722
+
723
+ ### Watermark appears in production
724
+
725
+ - **Add your license key**: Set the `license` property in your configuration
726
+ - **Sign up for a trial**: Get a free trial license at [img.ly/forms/free-trial](https://img.ly/forms/free-trial)
727
+
728
+ ---
729
+
730
+ ## Next Steps
731
+
732
+ - [Configuration](./configuration.md) – Complete list of initialization options
733
+ - [Serve Assets](./serve-assets.md) – Self-host engine assets for production
734
+ - [Actions](./actions.md) – Build custom export and save workflows
735
+ - [Theming](./user-interface/appearance/theming.md) – Customize colors and appearance
736
+ - [Localization](./user-interface/localization.md) – Add translations and language support
737
+
738
+ ---
739
+
740
+ ## More Resources
741
+
742
+ - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
743
+ - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
744
+ - **[Web Documentation](./js.md)** - Interactive documentation with examples
745
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support