@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,748 @@
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) > [3D Mockup Editor](./starterkits/3d-mockup-editor.md)
4
+
5
+ ---
6
+
7
+ Integrate CE.SDK with 3D libraries for real-time, interactive design previews on products. Enhance accuracy and boost conversions with lifelike visuals.
8
+
9
+ ![3D Product Configurator starter kit showing a 3D product preview 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-3d-product-preview-react-web/archive/refs/tags/release-$UBQ_VERSION$.zip)
16
+ > - [View source on GitHub](https://github.com/imgly/starterkit-3d-product-preview-react-web/tree/release-$UBQ_VERSION$)
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/starterkit-3d-product-preview-react-web/tree/release-$UBQ_VERSION$)
18
+ > - [Live demo](https://img.ly/docs/cesdk/examples/starterkit-3d-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 3D Product Configurator 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-3d-product-preview-react-web.git
43
+ </TerminalTab>
44
+
45
+ <TerminalTab label="degit">
46
+ npx degit imgly/starterkit-3d-product-preview-react-web starterkit-3d-product-preview-react-web
47
+ </TerminalTab>
48
+ </TerminalTabs>
49
+
50
+ The `src/` folder contains the React application and CE.SDK integration:
51
+
52
+ ```
53
+ src/
54
+ ├── app/ # Demo application
55
+ ├── imgly/
56
+ │ ├── config/
57
+ │ │ ├── actions.ts # Export/import actions
58
+ │ │ ├── features.ts # Feature toggles
59
+ │ │ ├── i18n.ts # Translations
60
+ │ │ ├── plugin.ts # Main configuration plugin
61
+ │ │ ├── settings.ts # Engine settings
62
+ │ │ └── ui/
63
+ │ │ ├── canvas.ts # Canvas configuration
64
+ │ │ ├── components.ts # Custom component registration
65
+ │ │ ├── dock.ts # Dock layout configuration
66
+ │ │ ├── index.ts # Combines UI customization exports
67
+ │ │ ├── inspectorBar.ts # Inspector bar layout
68
+ │ │ ├── navigationBar.ts # Navigation bar layout
69
+ │ │ └── panel.ts # Panel configuration
70
+ │ ├── index.ts # Editor initialization function
71
+ │ ├── mockup.ts # Mockup rendering utilities
72
+ │ └── types.ts # TypeScript type definitions
73
+ └── index.tsx # Application entry point
74
+ ```
75
+
76
+ ## Step 2: Install Dependencies
77
+
78
+ Install the required packages:
79
+
80
+ <TerminalTabs syncKey="package-manager">
81
+ <TerminalTab label="npm">
82
+ cd starterkit-3d-product-preview-react-web
83
+ npm install
84
+ </TerminalTab>
85
+
86
+ <TerminalTab label="pnpm">
87
+ cd starterkit-3d-product-preview-react-web
88
+ pnpm install
89
+ </TerminalTab>
90
+
91
+ <TerminalTab label="yarn">
92
+ cd starterkit-3d-product-preview-react-web
93
+ yarn
94
+ </TerminalTab>
95
+ </TerminalTabs>
96
+
97
+ ## Step 3: Download Assets
98
+
99
+ CE.SDK requires engine assets (fonts, icons, UI elements) to function. These must be served as static files from your project's `public/` directory.
100
+
101
+ <TerminalTabs>
102
+ <TerminalTab label="Download">
103
+ curl -O https://cdn.img.ly/packages/imgly/cesdk-js/$UBQ\_VERSION$/imgly-assets.zip
104
+ unzip imgly-assets.zip -d public/
105
+ rm imgly-assets.zip
106
+ </TerminalTab>
107
+ </TerminalTabs>
108
+
109
+ > **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`.
110
+
111
+ ```typescript title="src/index.tsx"
112
+ const config: Configuration = {
113
+ // ...
114
+ baseURL: '/assets'
115
+ // ...
116
+ };
117
+ ```
118
+
119
+ ## Step 4: Run the Development Server
120
+
121
+ <TerminalTabs syncKey="package-manager">
122
+ <TerminalTab label="npm">
123
+ npm run dev
124
+ </TerminalTab>
125
+
126
+ <TerminalTab label="pnpm">
127
+ pnpm run dev
128
+ </TerminalTab>
129
+
130
+ <TerminalTab label="yarn">
131
+ yarn dev
132
+ </TerminalTab>
133
+ </TerminalTabs>
134
+
135
+ Open `http://localhost:5173` in your browser.
136
+
137
+ </TabItem>
138
+
139
+ <TabItem label="Existing Project">
140
+ ## Get Started
141
+
142
+ Integrate the 3D Product Configurator into an existing React application. This adds the editor configuration to your current project structure.
143
+
144
+ ## Step 1: Clone
145
+
146
+ <TerminalTabs>
147
+ <TerminalTab label="Navigate">
148
+ cd your-project
149
+ </TerminalTab>
150
+ </TerminalTabs>
151
+
152
+ Clone the starter kit and copy the editor configuration to your project:
153
+
154
+ <TerminalTabs>
155
+ <TerminalTab label="git">
156
+ git clone https://github.com/imgly/starterkit-3d-product-preview-react-web.git
157
+ cp -r starterkit-3d-product-preview-react-web/src/imgly ./src/imgly
158
+ rm -rf starterkit-3d-product-preview-react-web
159
+ </TerminalTab>
160
+
161
+ <TerminalTab label="degit">
162
+ npx degit imgly/starterkit-3d-product-preview-react-web/src/imgly ./src/imgly
163
+ </TerminalTab>
164
+ </TerminalTabs>
165
+
166
+ > **Adjust Path:** The default destination is `./src/imgly`. Adjust the path to match your project structure.
167
+
168
+ The `imgly/` folder contains the editor configuration and mockup rendering logic:
169
+
170
+ ```
171
+ imgly/
172
+ ├── config/
173
+ │ ├── actions.ts # Export/import actions
174
+ │ ├── features.ts # Feature toggles
175
+ │ ├── i18n.ts # Translations
176
+ │ ├── plugin.ts # Main configuration plugin
177
+ │ ├── settings.ts # Engine settings
178
+ │ └── ui/
179
+ │ ├── canvas.ts # Canvas configuration
180
+ │ ├── components.ts # Custom component registration
181
+ │ ├── dock.ts # Dock layout configuration
182
+ │ ├── index.ts # Combines UI customization exports
183
+ │ ├── inspectorBar.ts # Inspector bar layout
184
+ │ ├── navigationBar.ts # Navigation bar layout
185
+ │ └── panel.ts # Panel configuration
186
+ ├── index.ts # Editor initialization function
187
+ ├── mockup.ts # Mockup rendering utilities
188
+ └── types.ts # TypeScript type definitions
189
+ ```
190
+
191
+ ## Step 2: Install Dependencies
192
+
193
+ Install the required packages for the editor:
194
+
195
+ ### Core Editor
196
+
197
+ Install the Creative Editor SDK and headless engine:
198
+
199
+ <TerminalTabs syncKey="package-manager">
200
+ <TerminalTab label="npm">
201
+ npm install @cesdk/cesdk-js@$UBQ\_VERSION$ @cesdk/engine@$UBQ\_VERSION$
202
+ </TerminalTab>
203
+
204
+ <TerminalTab label="pnpm">
205
+ pnpm add @cesdk/cesdk-js@$UBQ\_VERSION$ @cesdk/engine@$UBQ\_VERSION$
206
+ </TerminalTab>
207
+
208
+ <TerminalTab label="yarn">
209
+ yarn add @cesdk/cesdk-js@$UBQ\_VERSION$ @cesdk/engine@$UBQ\_VERSION$
210
+ </TerminalTab>
211
+ </TerminalTabs>
212
+
213
+ ### 3D Preview
214
+
215
+ Add the 3D model viewer and its dependencies:
216
+
217
+ <TerminalTabs syncKey="package-manager">
218
+ <TerminalTab label="npm">
219
+ npm install @google/model-viewer three
220
+ </TerminalTab>
221
+
222
+ <TerminalTab label="pnpm">
223
+ pnpm add @google/model-viewer three
224
+ </TerminalTab>
225
+
226
+ <TerminalTab label="yarn">
227
+ yarn add @google/model-viewer three
228
+ </TerminalTab>
229
+ </TerminalTabs>
230
+
231
+ The 3D product configurator uses these key libraries:
232
+
233
+ - `@cesdk/cesdk-js` -- The design editor where users edit their designs
234
+ - `@cesdk/engine` -- A headless engine for background mockup rendering
235
+ - `@google/model-viewer` -- Web component for displaying interactive 3D models
236
+ - `three` -- 3D graphics library (required peer dependency of `@google/model-viewer`)
237
+
238
+ ## Step 3: Download Assets
239
+
240
+ CE.SDK requires engine assets (fonts, icons, UI elements) to function. These must be served as static files from your project's `public/` directory.
241
+
242
+ <TerminalTabs>
243
+ <TerminalTab label="Download">
244
+ curl -O https://cdn.img.ly/packages/imgly/cesdk-js/$UBQ\_VERSION$/imgly-assets.zip
245
+ unzip imgly-assets.zip -d public/
246
+ rm imgly-assets.zip
247
+ </TerminalTab>
248
+ </TerminalTabs>
249
+
250
+ > **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.
251
+
252
+ ## Step 4: Add a Container Element
253
+
254
+ Add a container element to your HTML where the editor will be mounted:
255
+
256
+ ```html
257
+ <div id="cesdk_container" style="width: 100%; height: 100vh;"></div>
258
+ ```
259
+
260
+ ## Step 5: Initialize the Editor
261
+
262
+ Import and call the initialization function from your application's entry point:
263
+
264
+ ```typescript title="src/index.ts"
265
+ import CreativeEditorSDK from '@cesdk/cesdk-js';
266
+
267
+ import { init3dProductPreviewEditor } from './imgly';
268
+
269
+ const config = {
270
+ userId: 'your-user-id',
271
+ baseURL: '/assets'
272
+ // license: 'YOUR_LICENSE_KEY',
273
+ };
274
+
275
+ CreativeEditorSDK.create('#cesdk_container', config)
276
+ .then(async (cesdk) => {
277
+ await init3dProductPreviewEditor(cesdk);
278
+ })
279
+ .catch((error) => {
280
+ console.error('Failed to initialize CE.SDK:', error);
281
+ });
282
+ ```
283
+
284
+ </TabItem>
285
+ </Tabs>
286
+
287
+ ---
288
+
289
+ ## Dual-Engine Architecture
290
+
291
+ The 3D Product Configurator uses a unique dual-engine architecture for real-time mockup rendering:
292
+
293
+ ```
294
+ ┌─────────────────────────┐ ┌─────────────────────────┐
295
+ │ Design Editor SDK │ │ Headless Engine │
296
+ │ (User Interface) │ │ (Background Render) │
297
+ ├─────────────────────────┤ ├─────────────────────────┤
298
+ │ • User edits designs │ │ • Loads mockup scene │
299
+ │ • Full editing UI │ ──► │ • Composites designs │
300
+ │ • History management │ │ • Exports texture PNG │
301
+ └─────────────────────────┘ └─────────────────────────┘
302
+
303
+
304
+ ┌─────────────────────────┐
305
+ │ Google Model Viewer │
306
+ │ (3D Visualization) │
307
+ ├─────────────────────────┤
308
+ │ • Loads GLTF/GLB model │
309
+ │ • Applies texture │
310
+ │ • Interactive 3D view │
311
+ └─────────────────────────┘
312
+ ```
313
+
314
+ **How it works:**
315
+
316
+ 1. Users edit their design in the main CE.SDK editor
317
+ 2. On each change, design pages are exported as PNG blobs
318
+ 3. The `renderMockup` function composites designs onto the mockup scene
319
+ 4. The rendered texture is applied to the 3D model via Google Model Viewer
320
+
321
+ This architecture keeps the user's editing session uninterrupted while rendering mockups in the background.
322
+
323
+ ```typescript title="src/imgly/mockup.ts"
324
+ import { renderMockup, CLEAR_IMAGE } from './imgly';
325
+
326
+ // Render designs onto mockup scene
327
+ const result = await renderMockup(
328
+ engine, // Headless CreativeEngine
329
+ 'https://example.com/mockup.scene', // Scene URL or { sceneString }
330
+ {
331
+ 'Image 1': designBlob, // Placeholder name → Blob or URL
332
+ 'Image 2': CLEAR_IMAGE // Clear unused placeholders
333
+ }
334
+ );
335
+
336
+ // result.mockupUrl - Blob URL of rendered mockup (texture for 3D model)
337
+ // result.sceneString - Serialized scene for editing
338
+ // result.blobUrls - URLs to revoke when done
339
+ ```
340
+
341
+ ---
342
+
343
+ ## Set Up a Scene
344
+
345
+ CE.SDK offers multiple ways to load content into the editor. Choose the method that matches your use case:
346
+
347
+ ```typescript title="src/index.tsx"
348
+ // Create a blank design canvas - starts with an empty design scene
349
+ await cesdk.actions.run('scene.create');
350
+
351
+ // Load from a template archive - restores a previously saved project
352
+ await cesdk.loadFromArchiveURL('https://example.com/template.zip');
353
+
354
+ // Load from an image URL - creates a new scene with the image
355
+ await cesdk.createFromImage('https://example.com/image.jpg');
356
+
357
+ // Load from a scene file - restores a scene from JSON
358
+ await cesdk.loadFromURL('https://example.com/scene.json');
359
+ ```
360
+
361
+ The `createDesignScene()` method is ideal for design workflows, as it creates a blank canvas ready for content.
362
+
363
+ > **More Loading Options:** See [Open the Editor](./open-the-editor.md) for all available loading methods.
364
+
365
+ ## Customize Assets
366
+
367
+ The 3D Product Configurator 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.
368
+
369
+ Asset sources are added via plugins in `src/imgly/index.ts`. Enable or disable individual sources:
370
+
371
+ ```typescript title="src/imgly/index.ts"
372
+ import {
373
+ FiltersAssetSource,
374
+ StickerAssetSource,
375
+ TextAssetSource,
376
+ VectorShapeAssetSource,
377
+ EffectsAssetSource
378
+ // ...
379
+ } from '@cesdk/cesdk-js/plugins';
380
+
381
+ // Add only the sources you need
382
+ await cesdk.addPlugin(new FiltersAssetSource());
383
+ await cesdk.addPlugin(new StickerAssetSource());
384
+ await cesdk.addPlugin(new TextAssetSource());
385
+ await cesdk.addPlugin(new VectorShapeAssetSource());
386
+ await cesdk.addPlugin(new EffectsAssetSource());
387
+ // ...
388
+ ```
389
+
390
+ > **Available Asset Sources:** See [Asset Source Plugins](./plugins/asset-sources.md) for the complete list of available sources.
391
+
392
+ 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.
393
+
394
+ ## Configure Actions
395
+
396
+ 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.
397
+
398
+ **Key built-in actions:**
399
+
400
+ - `exportDesign` – Export the current design to PNG, JPEG, PDF, or other formats
401
+ - `saveScene` – Save the scene as a JSON string for later editing
402
+ - `importScene` – Import a previously saved scene (supports `.scene` and `.cesdk` formats)
403
+ - `exportScene` – Export the scene as a JSON file or `.cesdk` archive with all assets
404
+ - `uploadFile` – Handle file uploads with progress tracking
405
+
406
+ Use `cesdk.actions.run()` to execute any action:
407
+
408
+ ```typescript
409
+ // Run a built-in action
410
+ await cesdk.actions.run('exportDesign', { mimeType: 'image/png' });
411
+ ```
412
+
413
+ #### Import from File Picker
414
+
415
+ ```typescript title="src/imgly/config/actions.ts"
416
+ // Let users open images from their device
417
+ cesdk.actions.register('importImage', async () => {
418
+ const blobURL = await cesdk.utils.loadFile({
419
+ accept: 'image/*',
420
+ returnType: 'objectURL'
421
+ });
422
+ await cesdk.createFromImage(blobURL);
423
+ });
424
+ ```
425
+
426
+ #### Export and Save
427
+
428
+ ```typescript title="src/imgly/config/actions.ts"
429
+ // Register export action that downloads the edited design
430
+ cesdk.actions.register('exportDesign', async (exportOptions) => {
431
+ const { blobs, options } = await cesdk.utils.export(exportOptions);
432
+ await cesdk.utils.downloadFile(blobs[0], options.mimeType);
433
+ });
434
+ ```
435
+
436
+ #### Upload to Your Backend
437
+
438
+ ```typescript title="src/imgly/config/actions.ts"
439
+ // Override the built-in exportDesign action to send to your server
440
+ cesdk.actions.register('exportDesign', async (exportOptions) => {
441
+ const { blobs } = await cesdk.utils.export(exportOptions);
442
+
443
+ const formData = new FormData();
444
+ formData.append('design', blobs[0], 'design.png');
445
+
446
+ const response = await fetch('/api/upload', {
447
+ method: 'POST',
448
+ body: formData
449
+ });
450
+
451
+ const { url } = await response.json();
452
+ console.log('Uploaded to:', url);
453
+ });
454
+ ```
455
+
456
+ > **Learn More:** See [Actions](./actions.md) for the full list of built-in actions, how to run them, and how to register custom actions.
457
+
458
+ ---
459
+
460
+ ## Customize (Optional)
461
+
462
+ ### Theming
463
+
464
+ CE.SDK supports light and dark themes out of the box, plus automatic system preference detection. Switch between themes programmatically:
465
+
466
+ ```typescript title="src/imgly/config/settings.ts"
467
+ // 'light' | 'dark' | 'system' | (() => 'light' | 'dark')
468
+ cesdk.ui.setTheme('dark');
469
+ ```
470
+
471
+ See [Theming](./user-interface/appearance/theming.md) for custom color schemes, CSS variables, and advanced styling options.
472
+
473
+ ### Localization
474
+
475
+ Customize UI labels and add support for multiple languages. The i18n system supports translation keys for all UI elements:
476
+
477
+ ```typescript title="src/imgly/config/i18n.ts"
478
+ // Override specific labels
479
+ cesdk.i18n.setTranslations({
480
+ en: {
481
+ 'actions.export.image': 'Download Design',
482
+ 'common.cancel': 'Cancel',
483
+ 'common.apply': 'Apply'
484
+ }
485
+ });
486
+
487
+ // Add a new language
488
+ cesdk.i18n.setTranslations({
489
+ de: {
490
+ 'actions.export.image': 'Design herunterladen'
491
+ }
492
+ });
493
+
494
+ // Set the active locale
495
+ cesdk.i18n.setLocale('de');
496
+ ```
497
+
498
+ See [Localization](./user-interface/localization.md) for supported languages, translation key reference, and right-to-left language support.
499
+
500
+ ### UI Layout
501
+
502
+ ![CE.SDK Editor UI Areas](https://img.ly/docs/cesdk/../_shared/assets/CESDK-UI.png)
503
+
504
+ 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.
505
+
506
+ ```typescript title="src/imgly/config/ui/navigationBar.ts"
507
+ // Get current navigation bar components
508
+ const navOrder = cesdk.ui.getNavigationBarOrder();
509
+
510
+ // Add a custom button to the navigation bar
511
+ cesdk.ui.insertNavigationBarOrderComponent(
512
+ 'ly.img.spacer',
513
+ { id: 'my-custom-action' },
514
+ 'after'
515
+ );
516
+
517
+ // Rearrange dock items
518
+ cesdk.ui.setDockOrder([
519
+ 'ly.img.assetLibrary.dock',
520
+ 'ly.img.separator',
521
+ 'my-custom-dock-item'
522
+ ]);
523
+
524
+ // Customize the inspector bar
525
+ cesdk.ui.setInspectorBarOrder([
526
+ 'ly.img.fill.inspectorBar',
527
+ 'ly.img.separator',
528
+ 'ly.img.filter.inspectorBar'
529
+ ]);
530
+ ```
531
+
532
+ The Order API methods follow a consistent pattern across all UI areas:
533
+
534
+ - `get*Order()` – Retrieve the current component order
535
+ - `set*Order()` – Replace the entire order
536
+ - `insert*OrderComponent()` – Add components relative to existing ones
537
+
538
+ 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.
539
+
540
+ ### Custom Components
541
+
542
+ 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.
543
+
544
+ ```typescript title="src/imgly/config/ui/components.ts"
545
+ // Register a custom component
546
+ cesdk.ui.registerComponent('my-custom-button', ({ builder, engine }) => {
547
+ const selectedBlocks = engine.block.findAllSelected();
548
+
549
+ builder.Button('apply-effect', {
550
+ label: 'Apply Effect',
551
+ isDisabled: selectedBlocks.length === 0,
552
+ onClick: () => {
553
+ // Apply custom logic to selected blocks
554
+ }
555
+ });
556
+ });
557
+
558
+ // Add the component to the navigation bar
559
+ cesdk.ui.insertNavigationBarOrderComponent(
560
+ 'ly.img.spacer',
561
+ 'my-custom-button',
562
+ 'after'
563
+ );
564
+ ```
565
+
566
+ Custom components automatically re-render when the engine state they depend on changes—no manual subscription management required.
567
+
568
+ See [Register New Component](./user-interface/ui-extensions/register-new-component.md) for the complete builder API and component patterns.
569
+
570
+ ### Settings & Features
571
+
572
+ Fine-tune editor behavior through settings and features.
573
+
574
+ **Settings** configure core engine behavior—rendering, input handling, and history management:
575
+
576
+ ```typescript title="src/imgly/config/settings.ts"
577
+ cesdk.engine.editor.setSettingBool('page/dimOutOfPageAreas', true);
578
+ cesdk.engine.editor.setSettingBool('mouse/enableZoomControl', true);
579
+ cesdk.engine.editor.setSettingBool('features/undoHistory', true);
580
+ ```
581
+
582
+ **Features** toggle which editing tools and panels appear in the UI:
583
+
584
+ ```typescript title="src/imgly/config/features.ts"
585
+ // Toggle editor features
586
+ cesdk.feature.enable('ly.img.crop', true);
587
+ cesdk.feature.enable('ly.img.filter', true);
588
+ cesdk.feature.enable('ly.img.adjustment', true);
589
+ ```
590
+
591
+ See [Settings](./settings.md) and [Features](./user-interface/customization/disable-or-enable.md) for the complete reference.
592
+
593
+ ### Explore Plugins
594
+
595
+ 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.
596
+
597
+ #### Background Removal
598
+
599
+ 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.
600
+
601
+ ```typescript title="src/imgly/index.ts"
602
+ import BackgroundRemovalPlugin from '@imgly/plugin-background-removal';
603
+
604
+ // Add background removal capability
605
+ await cesdk.addPlugin(BackgroundRemovalPlugin());
606
+ ```
607
+
608
+ See [Background Removal](./edit-image/remove-bg.md) for setup instructions and configuration options.
609
+
610
+ #### Print Ready PDF
611
+
612
+ Export print-ready PDF/X-3 files with CMYK color profiles for professional printing workflows.
613
+
614
+ ```typescript title="src/imgly/index.ts"
615
+ import PrintReadyPDFPlugin from '@imgly/plugin-print-ready-pdf';
616
+
617
+ // Add print-ready PDF export capability
618
+ await cesdk.addPlugin(PrintReadyPDFPlugin());
619
+ ```
620
+
621
+ See [Print Ready PDF](./plugins/print-ready-pdf.md) for setup instructions and configuration options.
622
+
623
+ #### Custom Asset Sources
624
+
625
+ 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.
626
+
627
+ ```typescript title="src/imgly/index.ts"
628
+ import UnsplashAssetSource from '@imgly/plugin-unsplash';
629
+
630
+ // Add Unsplash integration
631
+ await cesdk.addPlugin(
632
+ UnsplashAssetSource({
633
+ accessKey: 'your-unsplash-access-key'
634
+ })
635
+ );
636
+ ```
637
+
638
+ See [Custom Asset Sources](./import-media/from-remote-source/unsplash.md) for integration patterns.
639
+
640
+ #### Discover More Plugins
641
+
642
+ Explore the full plugin ecosystem in the [IMG.LY plugins repository](https://github.com/imgly/plugins). Available plugins include:
643
+
644
+ - **Vectorizer** – Convert raster images to vectors
645
+ - **Design Presets** – Pre-built design templates
646
+ - **Social Media Templates** – Platform-specific sizing
647
+ - **And more** – Check the repository for the latest additions
648
+
649
+ ---
650
+
651
+ ## Key Capabilities
652
+
653
+ The 3D Product Configurator includes everything needed for professional design editing and interactive 3D product visualization.
654
+
655
+ <CapabilityGrid
656
+ features={[
657
+ {
658
+ title: 'Live 3D Preview',
659
+ description:
660
+ 'Design changes are instantly rendered onto the 3D model using a headless CE.SDK engine for real-time texture updates.',
661
+ imageId: 'transform',
662
+ },
663
+ {
664
+ title: 'Multiple Product Types',
665
+ description:
666
+ 'Supports Business Cards, Baseball Caps, and T-Shirts out of the box, with easy extensibility for custom products.',
667
+ imageId: 'filters',
668
+ },
669
+ {
670
+ title: 'Interactive 3D Models',
671
+ description:
672
+ 'Rotate, zoom, and inspect products from any angle using Google Model Viewer with GLTF/GLB support.',
673
+ imageId: 'green-screen',
674
+ },
675
+ {
676
+ title: 'Text & Typography',
677
+ description:
678
+ 'Add styled text with comprehensive typography controls, fonts, and visual effects.',
679
+ imageId: 'text-editing',
680
+ },
681
+ {
682
+ title: 'Asset Libraries',
683
+ description:
684
+ 'Access built-in collections of templates, stickers, shapes, and graphics, plus import custom assets.',
685
+ imageId: 'asset-libraries',
686
+ },
687
+ {
688
+ title: 'Texture Export',
689
+ description:
690
+ 'Download the rendered texture as PNG to use in external 3D workflows or production systems.',
691
+ imageId: 'client-side',
692
+ },
693
+ ]}
694
+ />
695
+
696
+ <br />
697
+
698
+ > **Free Trial:** [Sign up for a free trial](https://img.ly/forms/free-trial) to get a license key and remove the watermark.
699
+
700
+ ---
701
+
702
+ ## Troubleshooting
703
+
704
+ ### Editor doesn't load
705
+
706
+ - **Check the container element exists**: Ensure your container element is in the DOM before calling `create()`
707
+ - **Verify the baseURL**: Assets must be accessible from the CDN or your self-hosted location
708
+ - **Check console errors**: Look for CORS or network errors in browser developer tools
709
+
710
+ ### Assets don't appear
711
+
712
+ - **Check network requests**: Open DevTools Network tab and look for failed requests to `cdn.img.ly`
713
+ - **Self-host assets for production**: See [Serve Assets](./serve-assets.md) to host assets on your infrastructure
714
+
715
+ ### 3D model doesn't update
716
+
717
+ - **Check engine initialization**: Ensure both the design SDK and headless engine are initialized
718
+ - **Verify mockup scene loading**: The mockup scene must load successfully before rendering
719
+ - **Check placeholder names**: Placeholders in mockup scenes must match the naming pattern (e.g., "Image 1")
720
+
721
+ ### Export fails or produces blank images
722
+
723
+ - **Wait for content to load**: Ensure images are fully loaded before exporting
724
+ - **Check CORS on images**: Remote images must allow cross-origin access
725
+
726
+ ### Watermark appears in production
727
+
728
+ - **Add your license key**: Set the `license` property in your configuration
729
+ - **Sign up for a trial**: Get a free trial license at [img.ly/forms/free-trial](https://img.ly/forms/free-trial)
730
+
731
+ ---
732
+
733
+ ## Next Steps
734
+
735
+ - [Configuration](./configuration.md) – Complete list of initialization options
736
+ - [Serve Assets](./serve-assets.md) – Self-host engine assets for production
737
+ - [Actions](./actions.md) – Build custom export and save workflows
738
+ - [Theming](./user-interface/appearance/theming.md) – Customize colors and appearance
739
+ - [Localization](./user-interface/localization.md) – Add translations and language support
740
+
741
+ ---
742
+
743
+ ## More Resources
744
+
745
+ - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
746
+ - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
747
+ - **[Web Documentation](./js.md)** - Interactive documentation with examples
748
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support