@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.
- package/LICENSE.md +16 -0
- package/README.md +158 -0
- package/assets/docs/api/SKILL.md +49 -0
- package/assets/docs/api/index.d.ts +10518 -0
- package/assets/docs/guide/SKILL.md +142 -0
- package/assets/docs/guide/actions.md +1038 -0
- package/assets/docs/guide/animation/create/base.md +467 -0
- package/assets/docs/guide/animation/create/text.md +453 -0
- package/assets/docs/guide/animation/create.md +558 -0
- package/assets/docs/guide/animation/edit.md +501 -0
- package/assets/docs/guide/animation/overview.md +22 -0
- package/assets/docs/guide/animation/types.md +430 -0
- package/assets/docs/guide/animation.md +23 -0
- package/assets/docs/guide/api/AssetAPI.md +602 -0
- package/assets/docs/guide/api/BlockAPI.md +6152 -0
- package/assets/docs/guide/api/CreativeEngine.md +180 -0
- package/assets/docs/guide/api/EditorAPI.md +1261 -0
- package/assets/docs/guide/api/EventAPI.md +25 -0
- package/assets/docs/guide/api/SceneAPI.md +729 -0
- package/assets/docs/guide/api/VariableAPI.md +59 -0
- package/assets/docs/guide/api/types.md +71 -0
- package/assets/docs/guide/api-reference/overview.md +20 -0
- package/assets/docs/guide/automation/auto-resize.md +412 -0
- package/assets/docs/guide/automation/batch-processing.md +474 -0
- package/assets/docs/guide/automation/data-merge.md +406 -0
- package/assets/docs/guide/automation/design-generation.md +107 -0
- package/assets/docs/guide/automation/overview.md +16 -0
- package/assets/docs/guide/automation.md +24 -0
- package/assets/docs/guide/browser-support.md +38 -0
- package/assets/docs/guide/capabilities.md +18 -0
- package/assets/docs/guide/colors/adjust.md +551 -0
- package/assets/docs/guide/colors/apply.md +349 -0
- package/assets/docs/guide/colors/basics.md +440 -0
- package/assets/docs/guide/colors/conversion.md +504 -0
- package/assets/docs/guide/colors/create-color-palette.md +426 -0
- package/assets/docs/guide/colors/for-print/cmyk.md +577 -0
- package/assets/docs/guide/colors/for-print/spot.md +751 -0
- package/assets/docs/guide/colors/for-print.md +21 -0
- package/assets/docs/guide/colors/for-screen/p3.md +60 -0
- package/assets/docs/guide/colors/for-screen/srgb.md +463 -0
- package/assets/docs/guide/colors/for-screen.md +21 -0
- package/assets/docs/guide/colors/overview.md +20 -0
- package/assets/docs/guide/colors/replace.md +535 -0
- package/assets/docs/guide/colors.md +28 -0
- package/assets/docs/guide/compatibility.md +27 -0
- package/assets/docs/guide/concepts/architecture.md +99 -0
- package/assets/docs/guide/concepts/assets.md +360 -0
- package/assets/docs/guide/concepts/blocks.md +750 -0
- package/assets/docs/guide/concepts/buffers.md +546 -0
- package/assets/docs/guide/concepts/design-units.md +333 -0
- package/assets/docs/guide/concepts/edit-modes.md +431 -0
- package/assets/docs/guide/concepts/editing-workflow.md +303 -0
- package/assets/docs/guide/concepts/events.md +466 -0
- package/assets/docs/guide/concepts/headless-mode/browser.md +291 -0
- package/assets/docs/guide/concepts/pages.md +396 -0
- package/assets/docs/guide/concepts/resources.md +496 -0
- package/assets/docs/guide/concepts/scenes.md +443 -0
- package/assets/docs/guide/concepts/templating.md +194 -0
- package/assets/docs/guide/concepts/terminology.md +296 -0
- package/assets/docs/guide/concepts/undo-and-history.md +461 -0
- package/assets/docs/guide/concepts.md +38 -0
- package/assets/docs/guide/configuration.md +469 -0
- package/assets/docs/guide/conversion/overview.md +22 -0
- package/assets/docs/guide/conversion/to-base64.md +234 -0
- package/assets/docs/guide/conversion/to-pdf.md +616 -0
- package/assets/docs/guide/conversion/to-png.md +290 -0
- package/assets/docs/guide/conversion.md +23 -0
- package/assets/docs/guide/create-audio/audio/add-music.md +430 -0
- package/assets/docs/guide/create-audio/audio/add-sound-effects.md +664 -0
- package/assets/docs/guide/create-audio/audio/loop.md +370 -0
- package/assets/docs/guide/create-audio/audio.md +336 -0
- package/assets/docs/guide/create-composition/add-background.md +395 -0
- package/assets/docs/guide/create-composition/blend-modes.md +372 -0
- package/assets/docs/guide/create-composition/collage.md +432 -0
- package/assets/docs/guide/create-composition/group-and-ungroup.md +388 -0
- package/assets/docs/guide/create-composition/layer-management.md +503 -0
- package/assets/docs/guide/create-composition/layout.md +396 -0
- package/assets/docs/guide/create-composition/lock-design.md +362 -0
- package/assets/docs/guide/create-composition/multi-page.md +204 -0
- package/assets/docs/guide/create-composition/overview.md +18 -0
- package/assets/docs/guide/create-composition/programmatic.md +593 -0
- package/assets/docs/guide/create-composition.md +30 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +688 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +600 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +647 -0
- package/assets/docs/guide/create-templates/add-dynamic-content.md +307 -0
- package/assets/docs/guide/create-templates/add-to-template-library.md +297 -0
- package/assets/docs/guide/create-templates/edit-or-remove.md +441 -0
- package/assets/docs/guide/create-templates/from-scratch.md +558 -0
- package/assets/docs/guide/create-templates/import/from-scene-file.md +440 -0
- package/assets/docs/guide/create-templates/import.md +244 -0
- package/assets/docs/guide/create-templates/lock.md +325 -0
- package/assets/docs/guide/create-templates/overview.md +16 -0
- package/assets/docs/guide/create-templates.md +32 -0
- package/assets/docs/guide/create-video/audio/adjust-speed.md +302 -0
- package/assets/docs/guide/create-video/audio/adjust-volume.md +346 -0
- package/assets/docs/guide/create-video/control.md +285 -0
- package/assets/docs/guide/create-video/limitations.md +396 -0
- package/assets/docs/guide/create-video/overview.md +224 -0
- package/assets/docs/guide/create-video/timeline-editor.md +622 -0
- package/assets/docs/guide/create-video/update-caption-presets.md +676 -0
- package/assets/docs/guide/create-video.md +32 -0
- package/assets/docs/guide/edit-image/add-watermark.md +497 -0
- package/assets/docs/guide/edit-image/overview.md +22 -0
- package/assets/docs/guide/edit-image/remove-bg.md +420 -0
- package/assets/docs/guide/edit-image/replace-colors.md +680 -0
- package/assets/docs/guide/edit-image/transform/crop.md +523 -0
- package/assets/docs/guide/edit-image/transform/move.md +279 -0
- package/assets/docs/guide/edit-image/transform/resize.md +301 -0
- package/assets/docs/guide/edit-image/transform/rotate.md +408 -0
- package/assets/docs/guide/edit-image/transform/scale.md +278 -0
- package/assets/docs/guide/edit-image/transform.md +24 -0
- package/assets/docs/guide/edit-image/vectorize.md +204 -0
- package/assets/docs/guide/edit-image.md +25 -0
- package/assets/docs/guide/edit-video/add-captions.md +589 -0
- package/assets/docs/guide/edit-video/add-watermark.md +429 -0
- package/assets/docs/guide/edit-video/join-and-arrange.md +540 -0
- package/assets/docs/guide/edit-video/redaction.md +544 -0
- package/assets/docs/guide/edit-video/split.md +634 -0
- package/assets/docs/guide/edit-video/transform/crop.md +380 -0
- package/assets/docs/guide/edit-video/transform/flip.md +182 -0
- package/assets/docs/guide/edit-video/transform/move.md +413 -0
- package/assets/docs/guide/edit-video/transform/resize.md +534 -0
- package/assets/docs/guide/edit-video/transform/rotate.md +312 -0
- package/assets/docs/guide/edit-video/transform/scale.md +603 -0
- package/assets/docs/guide/edit-video/transform.md +25 -0
- package/assets/docs/guide/edit-video/trim.md +773 -0
- package/assets/docs/guide/engine-interface.md +108 -0
- package/assets/docs/guide/export-save-publish/create-thumbnail.md +292 -0
- package/assets/docs/guide/export-save-publish/export/compress.md +639 -0
- package/assets/docs/guide/export-save-publish/export/overview.md +576 -0
- package/assets/docs/guide/export-save-publish/export/partial-export.md +694 -0
- package/assets/docs/guide/export-save-publish/export/size-limits.md +401 -0
- package/assets/docs/guide/export-save-publish/export/to-html5.md +474 -0
- package/assets/docs/guide/export-save-publish/export/to-jpeg.md +312 -0
- package/assets/docs/guide/export-save-publish/export/to-mp4.md +364 -0
- package/assets/docs/guide/export-save-publish/export/to-pdf.md +389 -0
- package/assets/docs/guide/export-save-publish/export/to-png.md +255 -0
- package/assets/docs/guide/export-save-publish/export/to-raw-data.md +303 -0
- package/assets/docs/guide/export-save-publish/export/to-webp.md +261 -0
- package/assets/docs/guide/export-save-publish/export/with-color-mask.md +278 -0
- package/assets/docs/guide/export-save-publish/export.md +36 -0
- package/assets/docs/guide/export-save-publish/for-printing.md +423 -0
- package/assets/docs/guide/export-save-publish/for-social-media.md +318 -0
- package/assets/docs/guide/export-save-publish/pre-export-validation.md +698 -0
- package/assets/docs/guide/export-save-publish/save.md +340 -0
- package/assets/docs/guide/export-save-publish/store-custom-metadata.md +367 -0
- package/assets/docs/guide/file-format-support.md +34 -0
- package/assets/docs/guide/fills/color.md +678 -0
- package/assets/docs/guide/fills/image.md +539 -0
- package/assets/docs/guide/fills/overview.md +144 -0
- package/assets/docs/guide/fills/video.md +641 -0
- package/assets/docs/guide/fills.md +24 -0
- package/assets/docs/guide/filters-and-effects/apply.md +1019 -0
- package/assets/docs/guide/filters-and-effects/blur.md +382 -0
- package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +445 -0
- package/assets/docs/guide/filters-and-effects/create-custom-filters.md +614 -0
- package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +426 -0
- package/assets/docs/guide/filters-and-effects/distortion.md +527 -0
- package/assets/docs/guide/filters-and-effects/duotone.md +602 -0
- package/assets/docs/guide/filters-and-effects/gradients.md +1311 -0
- package/assets/docs/guide/filters-and-effects/overview.md +22 -0
- package/assets/docs/guide/filters-and-effects/support.md +623 -0
- package/assets/docs/guide/filters-and-effects.md +28 -0
- package/assets/docs/guide/get-started/agent-skills.md +119 -0
- package/assets/docs/guide/get-started/build-with-ai.md +45 -0
- package/assets/docs/guide/get-started/mcp-server.md +119 -0
- package/assets/docs/guide/get-started/overview.md +28 -0
- package/assets/docs/guide/get-started/vanilla-js/quickstart.md +175 -0
- package/assets/docs/guide/grid-and-rulers.md +222 -0
- package/assets/docs/guide/guides/export-save-publish/export/audio.md +224 -0
- package/assets/docs/guide/guides/text/rendering-internals.md +796 -0
- package/assets/docs/guide/guides.md +49 -0
- package/assets/docs/guide/import-media/asset-library.md +23 -0
- package/assets/docs/guide/import-media/asset-panel/basics.md +324 -0
- package/assets/docs/guide/import-media/asset-panel/customize.md +478 -0
- package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +415 -0
- package/assets/docs/guide/import-media/asset-panel/thumbnails.md +633 -0
- package/assets/docs/guide/import-media/capture-from-camera/record-video.md +137 -0
- package/assets/docs/guide/import-media/capture-from-camera.md +20 -0
- package/assets/docs/guide/import-media/concepts.md +173 -0
- package/assets/docs/guide/import-media/content-json-schema.md +615 -0
- package/assets/docs/guide/import-media/default-assets.md +381 -0
- package/assets/docs/guide/import-media/edit-or-remove-assets.md +489 -0
- package/assets/docs/guide/import-media/file-format-support.md +178 -0
- package/assets/docs/guide/import-media/from-local-source/user-upload.md +438 -0
- package/assets/docs/guide/import-media/from-local-source.md +20 -0
- package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +390 -0
- package/assets/docs/guide/import-media/from-remote-source/getty-images.md +627 -0
- package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +625 -0
- package/assets/docs/guide/import-media/from-remote-source/pexels.md +692 -0
- package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +473 -0
- package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +497 -0
- package/assets/docs/guide/import-media/from-remote-source/third-party.md +51 -0
- package/assets/docs/guide/import-media/from-remote-source/unsplash.md +914 -0
- package/assets/docs/guide/import-media/from-remote-source/your-server.md +764 -0
- package/assets/docs/guide/import-media/from-remote-source.md +28 -0
- package/assets/docs/guide/import-media/overview.md +32 -0
- package/assets/docs/guide/import-media/retrieve-mimetype.md +274 -0
- package/assets/docs/guide/import-media/size-limits.md +20 -0
- package/assets/docs/guide/import-media/source-sets.md +476 -0
- package/assets/docs/guide/import-media.md +32 -0
- package/assets/docs/guide/insert-media/audio.md +291 -0
- package/assets/docs/guide/insert-media/images.md +380 -0
- package/assets/docs/guide/insert-media/position-and-align.md +734 -0
- package/assets/docs/guide/insert-media/shapes-or-stickers.md +799 -0
- package/assets/docs/guide/insert-media/videos.md +308 -0
- package/assets/docs/guide/insert-media.md +24 -0
- package/assets/docs/guide/key-capabilities.md +24 -0
- package/assets/docs/guide/key-concepts.md +83 -0
- package/assets/docs/guide/licensing.md +45 -0
- package/assets/docs/guide/llms-txt.md +53 -0
- package/assets/docs/guide/open-the-editor/blank-canvas.md +124 -0
- package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +228 -0
- package/assets/docs/guide/open-the-editor/from-image.md +205 -0
- package/assets/docs/guide/open-the-editor/from-template.md +189 -0
- package/assets/docs/guide/open-the-editor/from-video.md +274 -0
- package/assets/docs/guide/open-the-editor/import-design/from-archive.md +504 -0
- package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +680 -0
- package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +865 -0
- package/assets/docs/guide/open-the-editor/import-design.md +481 -0
- package/assets/docs/guide/open-the-editor/load-scene.md +178 -0
- package/assets/docs/guide/open-the-editor/overview.md +20 -0
- package/assets/docs/guide/open-the-editor/set-zoom-level.md +303 -0
- package/assets/docs/guide/open-the-editor/uri-resolver.md +347 -0
- package/assets/docs/guide/open-the-editor.md +29 -0
- package/assets/docs/guide/outlines/overview.md +14 -0
- package/assets/docs/guide/outlines/shadows-and-glows.md +515 -0
- package/assets/docs/guide/outlines/strokes.md +292 -0
- package/assets/docs/guide/outlines.md +22 -0
- package/assets/docs/guide/overview.md +22 -0
- package/assets/docs/guide/performance.md +217 -0
- package/assets/docs/guide/plugins/asset-sources.md +553 -0
- package/assets/docs/guide/plugins/print-ready-pdf.md +549 -0
- package/assets/docs/guide/plugins.md +36 -0
- package/assets/docs/guide/rules/asset-handling.md +180 -0
- package/assets/docs/guide/rules/common-pitfalls.md +272 -0
- package/assets/docs/guide/rules/content-fill-mode.md +29 -0
- package/assets/docs/guide/rules/enforce-brand-guidelines.md +672 -0
- package/assets/docs/guide/rules/lock-content.md +478 -0
- package/assets/docs/guide/rules/moderate-content.md +761 -0
- package/assets/docs/guide/rules/overview.md +514 -0
- package/assets/docs/guide/rules/silent-init-errors.md +137 -0
- package/assets/docs/guide/rules/verify-properties-before-use.md +78 -0
- package/assets/docs/guide/rules.md +23 -0
- package/assets/docs/guide/security.md +199 -0
- package/assets/docs/guide/serve-assets.md +332 -0
- package/assets/docs/guide/settings.md +199 -0
- package/assets/docs/guide/shapes.md +23 -0
- package/assets/docs/guide/starterkits/3d-mockup-editor.md +748 -0
- package/assets/docs/guide/starterkits/advanced-editor.md +698 -0
- package/assets/docs/guide/starterkits/advanced-video-editor.md +696 -0
- package/assets/docs/guide/starterkits/ai-editor.md +749 -0
- package/assets/docs/guide/starterkits/airtable-image-editor.md +672 -0
- package/assets/docs/guide/starterkits/apparel-ui.md +188 -0
- package/assets/docs/guide/starterkits/assets.md +27 -0
- package/assets/docs/guide/starterkits/auto-resize.md +586 -0
- package/assets/docs/guide/starterkits/automated-video-generation.md +692 -0
- package/assets/docs/guide/starterkits/background-removal-editor.md +480 -0
- package/assets/docs/guide/starterkits/content-moderation.md +863 -0
- package/assets/docs/guide/starterkits/creative-automation.md +28 -0
- package/assets/docs/guide/starterkits/custom-built-uis.md +26 -0
- package/assets/docs/guide/starterkits/customization.md +29 -0
- package/assets/docs/guide/starterkits/cutout-lines-editor.md +470 -0
- package/assets/docs/guide/starterkits/data-merge.md +850 -0
- package/assets/docs/guide/starterkits/design-editor.md +698 -0
- package/assets/docs/guide/starterkits/design-generation.md +719 -0
- package/assets/docs/guide/starterkits/design-validation.md +808 -0
- package/assets/docs/guide/starterkits/editor-ui-configurations.md +14 -0
- package/assets/docs/guide/starterkits/export-options.md +724 -0
- package/assets/docs/guide/starterkits/export-using-renderer.md +708 -0
- package/assets/docs/guide/starterkits/extensibility.md +28 -0
- package/assets/docs/guide/starterkits/force-crop-editor.md +675 -0
- package/assets/docs/guide/starterkits/form-based-template-adoption.md +522 -0
- package/assets/docs/guide/starterkits/getty-images-editor.md +700 -0
- package/assets/docs/guide/starterkits/html5-ads-exporter.md +719 -0
- package/assets/docs/guide/starterkits/indesign-template-import.md +580 -0
- package/assets/docs/guide/starterkits/layouts-editor.md +724 -0
- package/assets/docs/guide/starterkits/mobile-ui.md +185 -0
- package/assets/docs/guide/starterkits/mockup-editor.md +745 -0
- package/assets/docs/guide/starterkits/multi-image-generation.md +542 -0
- package/assets/docs/guide/starterkits/page-sizes-editor.md +657 -0
- package/assets/docs/guide/starterkits/pexels-image-editor.md +665 -0
- package/assets/docs/guide/starterkits/photo-editor.md +755 -0
- package/assets/docs/guide/starterkits/photo-ui.md +186 -0
- package/assets/docs/guide/starterkits/photobook-ui.md +188 -0
- package/assets/docs/guide/starterkits/placeholders.md +678 -0
- package/assets/docs/guide/starterkits/player.md +405 -0
- package/assets/docs/guide/starterkits/plugins.md +25 -0
- package/assets/docs/guide/starterkits/postcard-editor.md +202 -0
- package/assets/docs/guide/starterkits/pptx-template-import.md +581 -0
- package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +746 -0
- package/assets/docs/guide/starterkits/product-editor.md +773 -0
- package/assets/docs/guide/starterkits/psd-template-import.md +580 -0
- package/assets/docs/guide/starterkits/qr-code-editor.md +470 -0
- package/assets/docs/guide/starterkits/single-page-editor.md +661 -0
- package/assets/docs/guide/starterkits/start-with-image.md +684 -0
- package/assets/docs/guide/starterkits/start-with-video.md +651 -0
- package/assets/docs/guide/starterkits/t-shirt-designer.md +742 -0
- package/assets/docs/guide/starterkits/templating.md +23 -0
- package/assets/docs/guide/starterkits/theming.md +662 -0
- package/assets/docs/guide/starterkits/translation-internationalization.md +662 -0
- package/assets/docs/guide/starterkits/unsplash-editor.md +839 -0
- package/assets/docs/guide/starterkits/vectorizer-editor.md +466 -0
- package/assets/docs/guide/starterkits/version-history.md +745 -0
- package/assets/docs/guide/starterkits/video-animations.md +853 -0
- package/assets/docs/guide/starterkits/video-captions.md +884 -0
- package/assets/docs/guide/starterkits/video-editing.md +25 -0
- package/assets/docs/guide/starterkits/video-editor.md +696 -0
- package/assets/docs/guide/starterkits/video-export-options.md +676 -0
- package/assets/docs/guide/starterkits/viewer.md +400 -0
- package/assets/docs/guide/starterkits.md +41 -0
- package/assets/docs/guide/stickers-and-shapes/combine.md +743 -0
- package/assets/docs/guide/stickers-and-shapes/create-cutout.md +425 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +794 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +290 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +211 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +362 -0
- package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +208 -0
- package/assets/docs/guide/stickers.md +21 -0
- package/assets/docs/guide/text/add.md +641 -0
- package/assets/docs/guide/text/adjust-spacing.md +288 -0
- package/assets/docs/guide/text/auto-size.md +404 -0
- package/assets/docs/guide/text/custom-fonts.md +401 -0
- package/assets/docs/guide/text/decorations.md +330 -0
- package/assets/docs/guide/text/edit.md +458 -0
- package/assets/docs/guide/text/effects.md +244 -0
- package/assets/docs/guide/text/emojis.md +310 -0
- package/assets/docs/guide/text/enumerations.md +258 -0
- package/assets/docs/guide/text/language-support.md +604 -0
- package/assets/docs/guide/text/overview.md +14 -0
- package/assets/docs/guide/text/styling.md +390 -0
- package/assets/docs/guide/text/text-designs.md +834 -0
- package/assets/docs/guide/text.md +33 -0
- package/assets/docs/guide/to-v1-10.md +131 -0
- package/assets/docs/guide/to-v1-13.md +165 -0
- package/assets/docs/guide/to-v1-19.md +315 -0
- package/assets/docs/guide/to-v1-32.md +110 -0
- package/assets/docs/guide/to-v1-69.md +468 -0
- package/assets/docs/guide/to-v1-72.md +193 -0
- package/assets/docs/guide/upgrade.md +25 -0
- package/assets/docs/guide/use-templates/apply-template.md +279 -0
- package/assets/docs/guide/use-templates/generate.md +405 -0
- package/assets/docs/guide/use-templates/library.md +450 -0
- package/assets/docs/guide/use-templates/overview.md +20 -0
- package/assets/docs/guide/use-templates/programmatic.md +482 -0
- package/assets/docs/guide/use-templates/replace-content.md +399 -0
- package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +428 -0
- package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +337 -0
- package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +853 -0
- package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +1045 -0
- package/assets/docs/guide/user-interface/ai-integration/image-generation.md +641 -0
- package/assets/docs/guide/user-interface/ai-integration/integrate.md +966 -0
- package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +99 -0
- package/assets/docs/guide/user-interface/ai-integration/text-generation.md +498 -0
- package/assets/docs/guide/user-interface/ai-integration/video-generation.md +493 -0
- package/assets/docs/guide/user-interface/ai-integration.md +30 -0
- package/assets/docs/guide/user-interface/appearance/change-ui-font.md +316 -0
- package/assets/docs/guide/user-interface/appearance/custom-labels.md +509 -0
- package/assets/docs/guide/user-interface/appearance/icons.md +373 -0
- package/assets/docs/guide/user-interface/appearance/theming.md +665 -0
- package/assets/docs/guide/user-interface/appearance.md +23 -0
- package/assets/docs/guide/user-interface/build-your-own-ui.md +620 -0
- package/assets/docs/guide/user-interface/customization/canvas-menu.md +412 -0
- package/assets/docs/guide/user-interface/customization/canvas.md +281 -0
- package/assets/docs/guide/user-interface/customization/color-palette.md +413 -0
- package/assets/docs/guide/user-interface/customization/crop-presets.md +384 -0
- package/assets/docs/guide/user-interface/customization/disable-or-enable.md +676 -0
- package/assets/docs/guide/user-interface/customization/dock.md +399 -0
- package/assets/docs/guide/user-interface/customization/force-crop.md +289 -0
- package/assets/docs/guide/user-interface/customization/inspector-bar.md +371 -0
- package/assets/docs/guide/user-interface/customization/navigation-bar.md +516 -0
- package/assets/docs/guide/user-interface/customization/page-format.md +436 -0
- package/assets/docs/guide/user-interface/customization/panel.md +605 -0
- package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +531 -0
- package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +358 -0
- package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +374 -0
- package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +323 -0
- package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +294 -0
- package/assets/docs/guide/user-interface/customization/quick-start.md +12 -0
- package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +519 -0
- package/assets/docs/guide/user-interface/customization/reference/component-reference.md +333 -0
- package/assets/docs/guide/user-interface/customization/reference.md +12 -0
- package/assets/docs/guide/user-interface/customization.md +39 -0
- package/assets/docs/guide/user-interface/localization.md +633 -0
- package/assets/docs/guide/user-interface/overview.md +167 -0
- package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +411 -0
- package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +721 -0
- package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +331 -0
- package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +553 -0
- package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +672 -0
- package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +415 -0
- package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +521 -0
- package/assets/docs/guide/user-interface/ui-extensions.md +26 -0
- package/assets/docs/guide/user-interface.md +25 -0
- package/assets/docs/guide/what-is-cesdk.md +319 -0
- package/assets/docs/handbook/SKILL.md +521 -0
- package/assets/prompts/evals-assetGenerate.md +12 -0
- package/assets/prompts/evals-brutalistCore.md +34 -0
- package/assets/prompts/evals-danskCatalogue.md +31 -0
- package/assets/prompts/evals-exportRoundTrip.md +12 -0
- package/assets/prompts/evals-inspectPriorCode.md +16 -0
- package/assets/prompts/evals-listProjectFiles.md +6 -0
- package/assets/prompts/evals-readAndExplainScript.md +6 -0
- package/assets/prompts/evals-resumeAcrossRestart.md +15 -0
- package/assets/prompts/evals-rewindRecovery.md +10 -0
- package/assets/prompts/evals-searchAcrossFiles.md +6 -0
- package/assets/prompts/evals-weddingCard.md +20 -0
- package/assets/prompts/explain.md +6 -0
- package/assets/prompts/review.md +6 -0
- package/dist/assets/inline.generated.d.ts +2 -0
- package/dist/assets/inline.generated.d.ts.map +1 -0
- package/dist/assets/inline.generated.js +413 -0
- package/dist/assets/inline.generated.js.map +1 -0
- package/dist/assets/load-browser.d.ts +8 -0
- package/dist/assets/load-browser.d.ts.map +1 -0
- package/dist/assets/load-browser.js +11 -0
- package/dist/assets/load-browser.js.map +1 -0
- package/dist/assets/load-node.d.ts +8 -0
- package/dist/assets/load-node.d.ts.map +1 -0
- package/dist/assets/load-node.js +11 -0
- package/dist/assets/load-node.js.map +1 -0
- package/dist/cli/http.d.ts +2 -0
- package/dist/cli/http.d.ts.map +1 -0
- package/dist/cli/http.js +231 -0
- package/dist/cli/http.js.map +1 -0
- package/dist/cli/redirect-console.d.ts +10 -0
- package/dist/cli/redirect-console.d.ts.map +1 -0
- package/dist/cli/redirect-console.js +18 -0
- package/dist/cli/redirect-console.js.map +1 -0
- package/dist/cli/resolve-license.d.ts +2 -0
- package/dist/cli/resolve-license.d.ts.map +1 -0
- package/dist/cli/resolve-license.js +13 -0
- package/dist/cli/resolve-license.js.map +1 -0
- package/dist/cli/stdio.d.ts +2 -0
- package/dist/cli/stdio.d.ts.map +1 -0
- package/dist/cli/stdio.js +124 -0
- package/dist/cli/stdio.js.map +1 -0
- package/dist/cli/trial-license.generated.d.ts +2 -0
- package/dist/cli/trial-license.generated.d.ts.map +1 -0
- package/dist/cli/trial-license.generated.js +4 -0
- package/dist/cli/trial-license.generated.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +64 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +61 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +102 -0
- package/dist/config.js.map +1 -0
- package/dist/cross-ref.d.ts +2 -0
- package/dist/cross-ref.d.ts.map +1 -0
- package/dist/cross-ref.js +31 -0
- package/dist/cross-ref.js.map +1 -0
- package/dist/dashboard/router.d.ts +3 -0
- package/dist/dashboard/router.d.ts.map +1 -0
- package/dist/dashboard/router.js +19 -0
- package/dist/dashboard/router.js.map +1 -0
- package/dist/dashboard/spa-assets.generated.d.ts +2 -0
- package/dist/dashboard/spa-assets.generated.d.ts.map +1 -0
- package/dist/dashboard/spa-assets.generated.js +220 -0
- package/dist/dashboard/spa-assets.generated.js.map +1 -0
- package/dist/engine/asset-sources.d.ts +17 -0
- package/dist/engine/asset-sources.d.ts.map +1 -0
- package/dist/engine/asset-sources.js +75 -0
- package/dist/engine/asset-sources.js.map +1 -0
- package/dist/engine/cesdk-adapter.d.ts +10 -0
- package/dist/engine/cesdk-adapter.d.ts.map +1 -0
- package/dist/engine/cesdk-adapter.js +19 -0
- package/dist/engine/cesdk-adapter.js.map +1 -0
- package/dist/engine/index.d.ts +3 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +3 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/mutex.d.ts +5 -0
- package/dist/engine/mutex.d.ts.map +1 -0
- package/dist/engine/mutex.js +42 -0
- package/dist/engine/mutex.js.map +1 -0
- package/dist/engine/session.d.ts +50 -0
- package/dist/engine/session.d.ts.map +1 -0
- package/dist/engine/session.js +95 -0
- package/dist/engine/session.js.map +1 -0
- package/dist/engine/uri-resolver.d.ts +14 -0
- package/dist/engine/uri-resolver.d.ts.map +1 -0
- package/dist/engine/uri-resolver.js +12 -0
- package/dist/engine/uri-resolver.js.map +1 -0
- package/dist/frontmatter.d.ts +15 -0
- package/dist/frontmatter.d.ts.map +1 -0
- package/dist/frontmatter.js +46 -0
- package/dist/frontmatter.js.map +1 -0
- package/dist/gateway/hosted-stub.d.ts +6 -0
- package/dist/gateway/hosted-stub.d.ts.map +1 -0
- package/dist/gateway/hosted-stub.js +11 -0
- package/dist/gateway/hosted-stub.js.map +1 -0
- package/dist/gateway/index.d.ts +4 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +4 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/local.d.ts +14 -0
- package/dist/gateway/local.d.ts.map +1 -0
- package/dist/gateway/local.js +41 -0
- package/dist/gateway/local.js.map +1 -0
- package/dist/gateway/types.d.ts +24 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +7 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/http/server.d.ts +80 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +183 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/session-manager.d.ts +42 -0
- package/dist/http/session-manager.d.ts.map +1 -0
- package/dist/http/session-manager.js +82 -0
- package/dist/http/session-manager.js.map +1 -0
- package/dist/http/workspace-auth.d.ts +9 -0
- package/dist/http/workspace-auth.d.ts.map +1 -0
- package/dist/http/workspace-auth.js +29 -0
- package/dist/http/workspace-auth.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics/mount.d.ts +11 -0
- package/dist/metrics/mount.d.ts.map +1 -0
- package/dist/metrics/mount.js +13 -0
- package/dist/metrics/mount.js.map +1 -0
- package/dist/metrics/recorder.d.ts +55 -0
- package/dist/metrics/recorder.d.ts.map +1 -0
- package/dist/metrics/recorder.js +97 -0
- package/dist/metrics/recorder.js.map +1 -0
- package/dist/revisions/hash.d.ts +7 -0
- package/dist/revisions/hash.d.ts.map +1 -0
- package/dist/revisions/hash.js +24 -0
- package/dist/revisions/hash.js.map +1 -0
- package/dist/revisions/index.d.ts +4 -0
- package/dist/revisions/index.d.ts.map +1 -0
- package/dist/revisions/index.js +4 -0
- package/dist/revisions/index.js.map +1 -0
- package/dist/revisions/store.d.ts +69 -0
- package/dist/revisions/store.d.ts.map +1 -0
- package/dist/revisions/store.js +196 -0
- package/dist/revisions/store.js.map +1 -0
- package/dist/revisions/types.d.ts +39 -0
- package/dist/revisions/types.d.ts.map +1 -0
- package/dist/revisions/types.js +2 -0
- package/dist/revisions/types.js.map +1 -0
- package/dist/server.d.ts +51 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +175 -0
- package/dist/server.js.map +1 -0
- package/dist/skill-tools.d.ts +3 -0
- package/dist/skill-tools.d.ts.map +1 -0
- package/dist/skill-tools.js +105 -0
- package/dist/skill-tools.js.map +1 -0
- package/dist/test/test/cli/dispatcher.test.d.ts +2 -0
- package/dist/test/test/cli/dispatcher.test.d.ts.map +1 -0
- package/dist/test/test/cli/dispatcher.test.js +47 -0
- package/dist/test/test/cli/dispatcher.test.js.map +1 -0
- package/dist/test/test/cross-ref.test.d.ts +2 -0
- package/dist/test/test/cross-ref.test.d.ts.map +1 -0
- package/dist/test/test/cross-ref.test.js +39 -0
- package/dist/test/test/cross-ref.test.js.map +1 -0
- package/dist/test/test/engine/session.test.d.ts +2 -0
- package/dist/test/test/engine/session.test.d.ts.map +1 -0
- package/dist/test/test/engine/session.test.js +144 -0
- package/dist/test/test/engine/session.test.js.map +1 -0
- package/dist/test/test/engine/uri-resolver.test.d.ts +2 -0
- package/dist/test/test/engine/uri-resolver.test.d.ts.map +1 -0
- package/dist/test/test/engine/uri-resolver.test.js +38 -0
- package/dist/test/test/engine/uri-resolver.test.js.map +1 -0
- package/dist/test/test/frontmatter.test.d.ts +2 -0
- package/dist/test/test/frontmatter.test.d.ts.map +1 -0
- package/dist/test/test/frontmatter.test.js +55 -0
- package/dist/test/test/frontmatter.test.js.map +1 -0
- package/dist/test/test/gateway/hosted-stub.test.d.ts +2 -0
- package/dist/test/test/gateway/hosted-stub.test.d.ts.map +1 -0
- package/dist/test/test/gateway/hosted-stub.test.js +11 -0
- package/dist/test/test/gateway/hosted-stub.test.js.map +1 -0
- package/dist/test/test/gateway/local.test.d.ts +2 -0
- package/dist/test/test/gateway/local.test.d.ts.map +1 -0
- package/dist/test/test/gateway/local.test.js +29 -0
- package/dist/test/test/gateway/local.test.js.map +1 -0
- package/dist/test/test/handbook-contract.test.d.ts +2 -0
- package/dist/test/test/handbook-contract.test.d.ts.map +1 -0
- package/dist/test/test/handbook-contract.test.js +71 -0
- package/dist/test/test/handbook-contract.test.js.map +1 -0
- package/dist/test/test/http/server.test.d.ts +2 -0
- package/dist/test/test/http/server.test.d.ts.map +1 -0
- package/dist/test/test/http/server.test.js +245 -0
- package/dist/test/test/http/server.test.js.map +1 -0
- package/dist/test/test/http/session-manager.test.d.ts +2 -0
- package/dist/test/test/http/session-manager.test.d.ts.map +1 -0
- package/dist/test/test/http/session-manager.test.js +83 -0
- package/dist/test/test/http/session-manager.test.js.map +1 -0
- package/dist/test/test/revisions/hash.test.d.ts +2 -0
- package/dist/test/test/revisions/hash.test.d.ts.map +1 -0
- package/dist/test/test/revisions/hash.test.js +33 -0
- package/dist/test/test/revisions/hash.test.js.map +1 -0
- package/dist/test/test/revisions/store.test.d.ts +2 -0
- package/dist/test/test/revisions/store.test.d.ts.map +1 -0
- package/dist/test/test/revisions/store.test.js +245 -0
- package/dist/test/test/revisions/store.test.js.map +1 -0
- package/dist/test/test/server.test.d.ts +2 -0
- package/dist/test/test/server.test.d.ts.map +1 -0
- package/dist/test/test/server.test.js +157 -0
- package/dist/test/test/server.test.js.map +1 -0
- package/dist/test/test/skill-tools.test.d.ts +2 -0
- package/dist/test/test/skill-tools.test.d.ts.map +1 -0
- package/dist/test/test/skill-tools.test.js +84 -0
- package/dist/test/test/skill-tools.test.js.map +1 -0
- package/dist/test/test/smoke.test.d.ts +2 -0
- package/dist/test/test/smoke.test.d.ts.map +1 -0
- package/dist/test/test/smoke.test.js +8 -0
- package/dist/test/test/smoke.test.js.map +1 -0
- package/dist/test/test/tools/asset-generate.test.d.ts +2 -0
- package/dist/test/test/tools/asset-generate.test.d.ts.map +1 -0
- package/dist/test/test/tools/asset-generate.test.js +66 -0
- package/dist/test/test/tools/asset-generate.test.js.map +1 -0
- package/dist/test/test/tools/edit.test.d.ts +2 -0
- package/dist/test/test/tools/edit.test.d.ts.map +1 -0
- package/dist/test/test/tools/edit.test.js +205 -0
- package/dist/test/test/tools/edit.test.js.map +1 -0
- package/dist/test/test/tools/export.test.d.ts +2 -0
- package/dist/test/test/tools/export.test.d.ts.map +1 -0
- package/dist/test/test/tools/export.test.js +144 -0
- package/dist/test/test/tools/export.test.js.map +1 -0
- package/dist/test/test/tools/history.test.d.ts +2 -0
- package/dist/test/test/tools/history.test.d.ts.map +1 -0
- package/dist/test/test/tools/history.test.js +29 -0
- package/dist/test/test/tools/history.test.js.map +1 -0
- package/dist/test/test/tools/inspect.test.d.ts +2 -0
- package/dist/test/test/tools/inspect.test.d.ts.map +1 -0
- package/dist/test/test/tools/inspect.test.js +62 -0
- package/dist/test/test/tools/inspect.test.js.map +1 -0
- package/dist/test/test/tools/list.test.d.ts +2 -0
- package/dist/test/test/tools/list.test.d.ts.map +1 -0
- package/dist/test/test/tools/list.test.js +23 -0
- package/dist/test/test/tools/list.test.js.map +1 -0
- package/dist/test/test/tools/open-editor.test.d.ts +2 -0
- package/dist/test/test/tools/open-editor.test.d.ts.map +1 -0
- package/dist/test/test/tools/open-editor.test.js +53 -0
- package/dist/test/test/tools/open-editor.test.js.map +1 -0
- package/dist/test/test/tools/preview.test.d.ts +2 -0
- package/dist/test/test/tools/preview.test.d.ts.map +1 -0
- package/dist/test/test/tools/preview.test.js +73 -0
- package/dist/test/test/tools/preview.test.js.map +1 -0
- package/dist/test/test/tools/rename.test.d.ts +2 -0
- package/dist/test/test/tools/rename.test.d.ts.map +1 -0
- package/dist/test/test/tools/rename.test.js +17 -0
- package/dist/test/test/tools/rename.test.js.map +1 -0
- package/dist/test/test/viewer/broadcaster.test.d.ts +2 -0
- package/dist/test/test/viewer/broadcaster.test.d.ts.map +1 -0
- package/dist/test/test/viewer/broadcaster.test.js +53 -0
- package/dist/test/test/viewer/broadcaster.test.js.map +1 -0
- package/dist/test/test/viewer/resource-route.test.d.ts +2 -0
- package/dist/test/test/viewer/resource-route.test.d.ts.map +1 -0
- package/dist/test/test/viewer/resource-route.test.js +70 -0
- package/dist/test/test/viewer/resource-route.test.js.map +1 -0
- package/dist/test/test/viewer/router.test.d.ts +2 -0
- package/dist/test/test/viewer/router.test.d.ts.map +1 -0
- package/dist/test/test/viewer/router.test.js +171 -0
- package/dist/test/test/viewer/router.test.js.map +1 -0
- package/dist/test/test/viewer/url-builder.test.d.ts +2 -0
- package/dist/test/test/viewer/url-builder.test.d.ts.map +1 -0
- package/dist/test/test/viewer/url-builder.test.js +31 -0
- package/dist/test/test/viewer/url-builder.test.js.map +1 -0
- package/dist/test/test/workspace/hosted-stub.test.d.ts +2 -0
- package/dist/test/test/workspace/hosted-stub.test.d.ts.map +1 -0
- package/dist/test/test/workspace/hosted-stub.test.js +30 -0
- package/dist/test/test/workspace/hosted-stub.test.js.map +1 -0
- package/dist/test/test/workspace/in-memory.test.d.ts +2 -0
- package/dist/test/test/workspace/in-memory.test.d.ts.map +1 -0
- package/dist/test/test/workspace/in-memory.test.js +4 -0
- package/dist/test/test/workspace/in-memory.test.js.map +1 -0
- package/dist/test/test/workspace/node-fs.test.d.ts +2 -0
- package/dist/test/test/workspace/node-fs.test.d.ts.map +1 -0
- package/dist/test/test/workspace/node-fs.test.js +20 -0
- package/dist/test/test/workspace/node-fs.test.js.map +1 -0
- package/dist/test/test/workspace/shared-contract.d.ts +3 -0
- package/dist/test/test/workspace/shared-contract.d.ts.map +1 -0
- package/dist/test/test/workspace/shared-contract.js +92 -0
- package/dist/test/test/workspace/shared-contract.js.map +1 -0
- package/dist/test/tsconfig.test.tsbuildinfo +1 -0
- package/dist/test/vitest.config.d.ts +3 -0
- package/dist/test/vitest.config.d.ts.map +1 -0
- package/dist/test/vitest.config.js +8 -0
- package/dist/test/vitest.config.js.map +1 -0
- package/dist/tools/asset-generate.d.ts +12 -0
- package/dist/tools/asset-generate.d.ts.map +1 -0
- package/dist/tools/asset-generate.js +112 -0
- package/dist/tools/asset-generate.js.map +1 -0
- package/dist/tools/asset-search.d.ts +10 -0
- package/dist/tools/asset-search.d.ts.map +1 -0
- package/dist/tools/asset-search.js +120 -0
- package/dist/tools/asset-search.js.map +1 -0
- package/dist/tools/content-types.d.ts +11 -0
- package/dist/tools/content-types.d.ts.map +1 -0
- package/dist/tools/content-types.js +2 -0
- package/dist/tools/content-types.js.map +1 -0
- package/dist/tools/edit.d.ts +29 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +165 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/engine.d.ts +31 -0
- package/dist/tools/engine.d.ts.map +1 -0
- package/dist/tools/engine.js +59 -0
- package/dist/tools/engine.js.map +1 -0
- package/dist/tools/export.d.ts +19 -0
- package/dist/tools/export.d.ts.map +1 -0
- package/dist/tools/export.js +179 -0
- package/dist/tools/export.js.map +1 -0
- package/dist/tools/history.d.ts +7 -0
- package/dist/tools/history.d.ts.map +1 -0
- package/dist/tools/history.js +54 -0
- package/dist/tools/history.js.map +1 -0
- package/dist/tools/index.d.ts +35 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +72 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inspect.d.ts +7 -0
- package/dist/tools/inspect.d.ts.map +1 -0
- package/dist/tools/inspect.js +80 -0
- package/dist/tools/inspect.js.map +1 -0
- package/dist/tools/list.d.ts +7 -0
- package/dist/tools/list.d.ts.map +1 -0
- package/dist/tools/list.js +18 -0
- package/dist/tools/list.js.map +1 -0
- package/dist/tools/metrics.d.ts +11 -0
- package/dist/tools/metrics.d.ts.map +1 -0
- package/dist/tools/metrics.js +28 -0
- package/dist/tools/metrics.js.map +1 -0
- package/dist/tools/open-editor.d.ts +10 -0
- package/dist/tools/open-editor.d.ts.map +1 -0
- package/dist/tools/open-editor.js +62 -0
- package/dist/tools/open-editor.js.map +1 -0
- package/dist/tools/preview.d.ts +12 -0
- package/dist/tools/preview.d.ts.map +1 -0
- package/dist/tools/preview.js +104 -0
- package/dist/tools/preview.js.map +1 -0
- package/dist/tools/rename.d.ts +7 -0
- package/dist/tools/rename.d.ts.map +1 -0
- package/dist/tools/rename.js +39 -0
- package/dist/tools/rename.js.map +1 -0
- package/dist/tools/result.d.ts +12 -0
- package/dist/tools/result.d.ts.map +1 -0
- package/dist/tools/result.js +55 -0
- package/dist/tools/result.js.map +1 -0
- package/dist/tools/save.d.ts +19 -0
- package/dist/tools/save.d.ts.map +1 -0
- package/dist/tools/save.js +117 -0
- package/dist/tools/save.js.map +1 -0
- package/dist/viewer/broadcaster.d.ts +13 -0
- package/dist/viewer/broadcaster.d.ts.map +1 -0
- package/dist/viewer/broadcaster.js +44 -0
- package/dist/viewer/broadcaster.js.map +1 -0
- package/dist/viewer/index.d.ts +7 -0
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +7 -0
- package/dist/viewer/index.js.map +1 -0
- package/dist/viewer/listener.d.ts +16 -0
- package/dist/viewer/listener.d.ts.map +1 -0
- package/dist/viewer/listener.js +30 -0
- package/dist/viewer/listener.js.map +1 -0
- package/dist/viewer/presigned-r2-url-builder.d.ts +30 -0
- package/dist/viewer/presigned-r2-url-builder.d.ts.map +1 -0
- package/dist/viewer/presigned-r2-url-builder.js +40 -0
- package/dist/viewer/presigned-r2-url-builder.js.map +1 -0
- package/dist/viewer/resource-route.d.ts +9 -0
- package/dist/viewer/resource-route.d.ts.map +1 -0
- package/dist/viewer/resource-route.js +59 -0
- package/dist/viewer/resource-route.js.map +1 -0
- package/dist/viewer/router.d.ts +20 -0
- package/dist/viewer/router.d.ts.map +1 -0
- package/dist/viewer/router.js +142 -0
- package/dist/viewer/router.js.map +1 -0
- package/dist/viewer/session-mount.d.ts +10 -0
- package/dist/viewer/session-mount.d.ts.map +1 -0
- package/dist/viewer/session-mount.js +24 -0
- package/dist/viewer/session-mount.js.map +1 -0
- package/dist/viewer/spa-assets.generated.d.ts +2 -0
- package/dist/viewer/spa-assets.generated.d.ts.map +1 -0
- package/dist/viewer/spa-assets.generated.js +989 -0
- package/dist/viewer/spa-assets.generated.js.map +1 -0
- package/dist/viewer/url-builder.d.ts +48 -0
- package/dist/viewer/url-builder.d.ts.map +1 -0
- package/dist/viewer/url-builder.js +38 -0
- package/dist/viewer/url-builder.js.map +1 -0
- package/dist/workspace/hosted-stub.d.ts +28 -0
- package/dist/workspace/hosted-stub.d.ts.map +1 -0
- package/dist/workspace/hosted-stub.js +44 -0
- package/dist/workspace/hosted-stub.js.map +1 -0
- package/dist/workspace/in-memory.d.ts +23 -0
- package/dist/workspace/in-memory.d.ts.map +1 -0
- package/dist/workspace/in-memory.js +161 -0
- package/dist/workspace/in-memory.js.map +1 -0
- package/dist/workspace/index.d.ts +6 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +6 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/node-fs.d.ts +23 -0
- package/dist/workspace/node-fs.d.ts.map +1 -0
- package/dist/workspace/node-fs.js +90 -0
- package/dist/workspace/node-fs.js.map +1 -0
- package/dist/workspace/s3.d.ts +32 -0
- package/dist/workspace/s3.d.ts.map +1 -0
- package/dist/workspace/s3.js +191 -0
- package/dist/workspace/s3.js.map +1 -0
- package/dist/workspace/scoped.d.ts +32 -0
- package/dist/workspace/scoped.d.ts.map +1 -0
- package/dist/workspace/scoped.js +76 -0
- package/dist/workspace/scoped.js.map +1 -0
- package/dist/workspace/types.d.ts +75 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/dist/workspace/types.js +18 -0
- package/dist/workspace/types.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [Open the Editor](./open-the-editor.md) > [Import a Design](./open-the-editor/import-design.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Open existing designs from various sources in CE.SDK, including saved scenes, professional design tool files, and source media.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
> **Reading time:** 8 minutes
|
|
12
|
+
>
|
|
13
|
+
> **Resources:**
|
|
14
|
+
>
|
|
15
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
16
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-open-the-editor-import-design-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-open-the-editor-import-design-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-open-the-editor-import-design-browser/)
|
|
19
|
+
|
|
20
|
+
CE.SDK supports multiple import methods to bring designs into the editor. Load saved **scene files** or self-contained **archives**, create editable scenes from images and videos, or import from professional design tools.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-open-the-editor-import-design-browser/browser.ts reference-only
|
|
23
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
24
|
+
|
|
25
|
+
import {
|
|
26
|
+
BlurAssetSource,
|
|
27
|
+
ColorPaletteAssetSource,
|
|
28
|
+
CropPresetsAssetSource,
|
|
29
|
+
DemoAssetSources,
|
|
30
|
+
EffectsAssetSource,
|
|
31
|
+
FiltersAssetSource,
|
|
32
|
+
PagePresetsAssetSource,
|
|
33
|
+
StickerAssetSource,
|
|
34
|
+
TextAssetSource,
|
|
35
|
+
TextComponentAssetSource,
|
|
36
|
+
TypefaceAssetSource,
|
|
37
|
+
UploadAssetSources,
|
|
38
|
+
VectorShapeAssetSource
|
|
39
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
40
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
41
|
+
import { calculateGridLayout } from './utils';
|
|
42
|
+
import packageJson from './package.json';
|
|
43
|
+
|
|
44
|
+
class Example implements EditorPlugin {
|
|
45
|
+
name = packageJson.name;
|
|
46
|
+
version = packageJson.version;
|
|
47
|
+
|
|
48
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
49
|
+
if (!cesdk) {
|
|
50
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
51
|
+
}
|
|
52
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
53
|
+
|
|
54
|
+
// Add asset source plugins
|
|
55
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
56
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
57
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
58
|
+
await cesdk.addPlugin(
|
|
59
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
60
|
+
);
|
|
61
|
+
await cesdk.addPlugin(
|
|
62
|
+
new DemoAssetSources({
|
|
63
|
+
include: [
|
|
64
|
+
'ly.img.templates.blank.*',
|
|
65
|
+
'ly.img.templates.presentation.*',
|
|
66
|
+
'ly.img.templates.print.*',
|
|
67
|
+
'ly.img.templates.social.*',
|
|
68
|
+
'ly.img.image.*'
|
|
69
|
+
]
|
|
70
|
+
})
|
|
71
|
+
);
|
|
72
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
73
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
74
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
75
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
76
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
77
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
78
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
79
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
80
|
+
|
|
81
|
+
await cesdk.actions.run('scene.create', {
|
|
82
|
+
page: {
|
|
83
|
+
sourceId: 'ly.img.page.presets',
|
|
84
|
+
assetId: 'ly.img.page.presets.print.iso.a6.landscape'
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
const engine = cesdk.engine;
|
|
89
|
+
|
|
90
|
+
// ===== Method 1: Load Scene from URL =====
|
|
91
|
+
// URL to a saved CE.SDK scene file
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
93
|
+
const sceneUrl =
|
|
94
|
+
'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1.scene';
|
|
95
|
+
|
|
96
|
+
// Load the scene from remote URL
|
|
97
|
+
// await engine.scene.loadFromURL(sceneUrl);
|
|
98
|
+
|
|
99
|
+
// The scene is now loaded and ready for editing
|
|
100
|
+
// All blocks and properties from the saved scene are restored
|
|
101
|
+
|
|
102
|
+
// ===== Method 2: Load Scene from String =====
|
|
103
|
+
// Scene content as a string (from localStorage, database, or saveToString())
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
105
|
+
const savedSceneString = '{ /* scene JSON content */ }';
|
|
106
|
+
|
|
107
|
+
// Load the scene from string content
|
|
108
|
+
// await engine.scene.loadFromString(savedSceneString);
|
|
109
|
+
|
|
110
|
+
// The scene is restored from the string representation
|
|
111
|
+
// This is useful for offline storage or database persistence
|
|
112
|
+
|
|
113
|
+
// ===== Method 3: Load from Archive URL =====
|
|
114
|
+
// Archive URL from cloud storage, CDN, or user upload
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
116
|
+
const archiveUrl = 'https://example.com/designs/project-bundle.zip';
|
|
117
|
+
|
|
118
|
+
// Load the archive using loadFromArchiveURL
|
|
119
|
+
// await engine.scene.loadFromArchiveURL(archiveUrl);
|
|
120
|
+
|
|
121
|
+
// Archives include all assets, making them portable across environments
|
|
122
|
+
// No external asset URLs need to be accessible
|
|
123
|
+
|
|
124
|
+
// ===== Method 4: Create Scene from Image =====
|
|
125
|
+
// Create an editable scene from an existing image
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
127
|
+
const imageUrl = 'https://img.ly/static/ubq_samples/sample_1.jpg';
|
|
128
|
+
|
|
129
|
+
// Create a scene sized to the image dimensions
|
|
130
|
+
// await engine.scene.createFromImage(imageUrl);
|
|
131
|
+
|
|
132
|
+
// The image becomes the base content, ready for editing
|
|
133
|
+
// You can now add text, shapes, effects, etc.
|
|
134
|
+
|
|
135
|
+
// ===== Method 5: Create Scene from Video =====
|
|
136
|
+
// Create a video editing scene from an existing video
|
|
137
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
138
|
+
const videoUrl =
|
|
139
|
+
'https://img.ly/static/ubq_samples/videos/pexels-drone-footage-of-a-surfer-by-ben-chewar-5368886_360p.mp4';
|
|
140
|
+
|
|
141
|
+
// Create a scene from an existing video
|
|
142
|
+
// await engine.scene.createFromVideo(videoUrl);
|
|
143
|
+
|
|
144
|
+
// The scene is set up with timeline controls for video editing
|
|
145
|
+
|
|
146
|
+
// ===== Method 6: Modify Loaded Scene =====
|
|
147
|
+
// Show that loaded scenes can be modified immediately
|
|
148
|
+
// Find elements in the loaded scene
|
|
149
|
+
// const textBlocks = engine.block.findByType('text');
|
|
150
|
+
// if (textBlocks.length > 0) {
|
|
151
|
+
// engine.block.setString(textBlocks[0], 'text/text', 'Scene Imported & Modified');
|
|
152
|
+
// // Scene loads can be undone: engine.editor.undo();
|
|
153
|
+
// }
|
|
154
|
+
|
|
155
|
+
// Create a visual demonstration showing different import sources
|
|
156
|
+
|
|
157
|
+
const demoPage = engine.block.findByType('page')[0];
|
|
158
|
+
|
|
159
|
+
// Set page dimensions for proper grid layout
|
|
160
|
+
engine.block.setWidth(demoPage, 1920);
|
|
161
|
+
engine.block.setHeight(demoPage, 1080);
|
|
162
|
+
|
|
163
|
+
const layout = calculateGridLayout(1920, 1080, 4, {
|
|
164
|
+
spacing: 30,
|
|
165
|
+
margin: 60
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// Create demonstration blocks showing different sources
|
|
169
|
+
const demoImage1 = await engine.block.addImage(
|
|
170
|
+
'https://img.ly/static/ubq_samples/sample_1.jpg',
|
|
171
|
+
{
|
|
172
|
+
...layout.getPosition(0),
|
|
173
|
+
size: { width: layout.blockWidth, height: layout.blockHeight }
|
|
174
|
+
}
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
const demoImage2 = await engine.block.addImage(
|
|
178
|
+
'https://img.ly/static/ubq_samples/sample_2.jpg',
|
|
179
|
+
{
|
|
180
|
+
...layout.getPosition(1),
|
|
181
|
+
size: { width: layout.blockWidth, height: layout.blockHeight }
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
const demoImage3 = await engine.block.addImage(
|
|
186
|
+
'https://img.ly/static/ubq_samples/sample_3.jpg',
|
|
187
|
+
{
|
|
188
|
+
...layout.getPosition(2),
|
|
189
|
+
size: { width: layout.blockWidth, height: layout.blockHeight }
|
|
190
|
+
}
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
const demoImage4 = await engine.block.addImage(
|
|
194
|
+
'https://img.ly/static/ubq_samples/sample_4.jpg',
|
|
195
|
+
{
|
|
196
|
+
...layout.getPosition(3),
|
|
197
|
+
size: { width: layout.blockWidth, height: layout.blockHeight }
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
// Add labels to each demonstration
|
|
202
|
+
const labels = ['From URL', 'From String', 'From Archive', 'From Media'];
|
|
203
|
+
|
|
204
|
+
[demoImage1, demoImage2, demoImage3, demoImage4].forEach((block, index) => {
|
|
205
|
+
engine.block.appendChild(demoPage, block);
|
|
206
|
+
|
|
207
|
+
// Add text label below each image
|
|
208
|
+
const label = engine.block.create('text');
|
|
209
|
+
const pos = layout.getPosition(index);
|
|
210
|
+
engine.block.setString(label, 'text/text', labels[index]);
|
|
211
|
+
engine.block.setWidth(label, layout.blockWidth);
|
|
212
|
+
engine.block.setPositionX(label, pos.x);
|
|
213
|
+
engine.block.setPositionY(label, pos.y + layout.blockHeight + 10);
|
|
214
|
+
engine.block.setFloat(label, 'text/fontSize', 24);
|
|
215
|
+
engine.block.setColor(label, 'fill/solid/color', {
|
|
216
|
+
r: 0.2,
|
|
217
|
+
g: 0.2,
|
|
218
|
+
b: 0.2,
|
|
219
|
+
a: 1.0
|
|
220
|
+
});
|
|
221
|
+
engine.block.appendChild(demoPage, label);
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
// Zoom to show the full grid
|
|
225
|
+
await engine.scene.zoomToBlock(demoPage, {
|
|
226
|
+
padding: 40
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export default Example;
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
This guide covers how to load saved CE.SDK scenes and create scenes from media files.
|
|
235
|
+
|
|
236
|
+
## Understanding Import Methods
|
|
237
|
+
|
|
238
|
+
CE.SDK provides several approaches for importing designs:
|
|
239
|
+
|
|
240
|
+
- **Scene files** – Load lightweight JSON files that reference assets by URL
|
|
241
|
+
- **Archives** – Load self-contained packages that bundle scenes with all assets ([See dedicated guide](./open-the-editor/import-design/from-archive.md))
|
|
242
|
+
- **Media imports** – Create editable designs from source images or videos
|
|
243
|
+
|
|
244
|
+
## Import from other Design Tools
|
|
245
|
+
|
|
246
|
+
CE.SDK provides specialized importers that convert files from Photoshop (`.psd`) and InDesign (`.idml`) into editable scenes. These importers preserve layers, text, effects, and design structure.
|
|
247
|
+
|
|
248
|
+
## Load Saved CE.SDK Scenes
|
|
249
|
+
|
|
250
|
+
Load previously saved scenes to resume editing work. CE.SDK provides three methods depending on your source.
|
|
251
|
+
|
|
252
|
+
### From a URL
|
|
253
|
+
|
|
254
|
+
Use `engine.scene.loadFromURL()` to load scenes from a server or cloud storage. This works well for cloud-based editing where users access designs from any device.
|
|
255
|
+
|
|
256
|
+
```typescript highlight-load-from-url
|
|
257
|
+
// URL to a saved CE.SDK scene file
|
|
258
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
259
|
+
const sceneUrl =
|
|
260
|
+
'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1.scene';
|
|
261
|
+
|
|
262
|
+
// Load the scene from remote URL
|
|
263
|
+
// await engine.scene.loadFromURL(sceneUrl);
|
|
264
|
+
|
|
265
|
+
// The scene is now loaded and ready for editing
|
|
266
|
+
// All blocks and properties from the saved scene are restored
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
The engine fetches the scene file asynchronously and replaces the current scene with the loaded content. All asset URLs referenced in the scene must remain accessible for the scene to render correctly.
|
|
270
|
+
|
|
271
|
+
### From a String
|
|
272
|
+
|
|
273
|
+
Use `engine.scene.loadFromString()` when you have scene content as a string from local storage, a database, or a previous `engine.scene.saveToString()` call.
|
|
274
|
+
|
|
275
|
+
```typescript highlight-load-from-string
|
|
276
|
+
// Scene content as a string (from localStorage, database, or saveToString())
|
|
277
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
278
|
+
const savedSceneString = '{ /* scene JSON content */ }';
|
|
279
|
+
|
|
280
|
+
// Load the scene from string content
|
|
281
|
+
// await engine.scene.loadFromString(savedSceneString);
|
|
282
|
+
|
|
283
|
+
// The scene is restored from the string representation
|
|
284
|
+
// This is useful for offline storage or database persistence
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
This approach works well for offline-first applications or when integrating with custom storage systems that return scene data as strings.
|
|
288
|
+
|
|
289
|
+
### From an Archive URL
|
|
290
|
+
|
|
291
|
+
For self-contained packages that bundle the scene with all assets, use archives. See the [Import Design from Archive](./open-the-editor/import-design/from-archive.md) guide for complete details on working with archive files.
|
|
292
|
+
|
|
293
|
+
## Create Scenes from Media
|
|
294
|
+
|
|
295
|
+
Create editable scenes directly from images or videos.
|
|
296
|
+
|
|
297
|
+
### From Images
|
|
298
|
+
|
|
299
|
+
Use `engine.scene.createFromImage()` to create a design based on an existing image. This creates a scene sized to the image dimensions with the image as the primary content.
|
|
300
|
+
|
|
301
|
+
```typescript highlight-create-from-image
|
|
302
|
+
// Create an editable scene from an existing image
|
|
303
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
304
|
+
const imageUrl = 'https://img.ly/static/ubq_samples/sample_1.jpg';
|
|
305
|
+
|
|
306
|
+
// Create a scene sized to the image dimensions
|
|
307
|
+
// await engine.scene.createFromImage(imageUrl);
|
|
308
|
+
|
|
309
|
+
// The image becomes the base content, ready for editing
|
|
310
|
+
// You can now add text, shapes, effects, etc.
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
The scene is ready for editing. You can add text, shapes, effects, and other design elements on top of the base image.
|
|
314
|
+
|
|
315
|
+
### From Videos
|
|
316
|
+
|
|
317
|
+
Use `engine.scene.createFromVideo()` to create a scene from a video file, automatically setting up dimensions and duration.
|
|
318
|
+
|
|
319
|
+
```typescript highlight-create-from-video
|
|
320
|
+
// Create a video editing scene from an existing video
|
|
321
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
322
|
+
const videoUrl =
|
|
323
|
+
'https://img.ly/static/ubq_samples/videos/pexels-drone-footage-of-a-surfer-by-ben-chewar-5368886_360p.mp4';
|
|
324
|
+
|
|
325
|
+
// Create a scene from an existing video
|
|
326
|
+
// await engine.scene.createFromVideo(videoUrl);
|
|
327
|
+
|
|
328
|
+
// The scene is set up with timeline controls for video editing
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
The scene is set up for video editing with time-based properties and video-specific features.
|
|
332
|
+
|
|
333
|
+
## Choosing the Right Import Method
|
|
334
|
+
|
|
335
|
+
Choose your import method based on your source and requirements:
|
|
336
|
+
|
|
337
|
+
- **Resuming previous work?** Use `engine.scene.loadFromURL()` or `engine.scene.loadFromString()` for scenes you previously saved with CE.SDK.
|
|
338
|
+
|
|
339
|
+
- **Need self-contained files?** Use archives that bundle scenes with all assets ([see guide](./open-the-editor/import-design/from-archive.md)).
|
|
340
|
+
|
|
341
|
+
- **Coming from design tools?** Use the respective importers to convert Photoshop or InDesign files.
|
|
342
|
+
|
|
343
|
+
- **Starting from media?** Use `engine.scene.createFromImage()` or `engine.scene.createFromVideo()` to build editable scenes from source files.
|
|
344
|
+
|
|
345
|
+
## Best Practices
|
|
346
|
+
|
|
347
|
+
Follow these recommendations for reliable and maintainable import workflows:
|
|
348
|
+
|
|
349
|
+
### Error Handling
|
|
350
|
+
|
|
351
|
+
Always wrap import operations in try-catch blocks to handle failures gracefully:
|
|
352
|
+
|
|
353
|
+
```typescript
|
|
354
|
+
try {
|
|
355
|
+
await engine.scene.loadFromURL(sceneUrl);
|
|
356
|
+
} catch (error) {
|
|
357
|
+
// Show user-friendly error message
|
|
358
|
+
console.error('Failed to load scene:', error);
|
|
359
|
+
// Optionally fall back to a default scene
|
|
360
|
+
await engine.scene.create();
|
|
361
|
+
}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
Provide specific error messages based on failure type (network errors, invalid files, CORS issues).
|
|
365
|
+
|
|
366
|
+
## Working with Loaded Scenes
|
|
367
|
+
|
|
368
|
+
Modify loaded scenes immediately using CE.SDK's editing APIs. All blocks are accessible for modification.
|
|
369
|
+
|
|
370
|
+
```typescript highlight-modify-loaded-scene
|
|
371
|
+
// Find elements in the loaded scene
|
|
372
|
+
// const textBlocks = engine.block.findByType('text');
|
|
373
|
+
// if (textBlocks.length > 0) {
|
|
374
|
+
// engine.block.setString(textBlocks[0], 'text/text', 'Scene Imported & Modified');
|
|
375
|
+
// // Scene loads can be undone: engine.editor.undo();
|
|
376
|
+
// }
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Scene loads can be reverted using `engine.editor.undo()` if you need to return to the previous state.
|
|
380
|
+
|
|
381
|
+
## Performance Considerations
|
|
382
|
+
|
|
383
|
+
Consider these factors when importing designs to ensure optimal performance:
|
|
384
|
+
|
|
385
|
+
### File Size and Loading Time
|
|
386
|
+
|
|
387
|
+
- **Scene files** are typically small (10-100KB) and load quickly since they only contain structure and asset references
|
|
388
|
+
- **Archives** can be large (1MB-100MB+) depending on bundled assets, requiring more time to download and extract
|
|
389
|
+
- **Image/video imports** depend on source media size - a 4K image may take several seconds to process
|
|
390
|
+
|
|
391
|
+
Show loading indicators for imports that may take more than 500ms to complete.
|
|
392
|
+
|
|
393
|
+
### Network Performance
|
|
394
|
+
|
|
395
|
+
When loading from URLs:
|
|
396
|
+
|
|
397
|
+
- Use CDN-hosted resources for faster downloads and reduced latency
|
|
398
|
+
- Consider compression for scene files stored on your servers
|
|
399
|
+
- Implement retry logic for network failures
|
|
400
|
+
- Cache frequently loaded scenes in browser storage to avoid redundant network requests
|
|
401
|
+
|
|
402
|
+
### Memory Management
|
|
403
|
+
|
|
404
|
+
- Large scenes with many blocks and high-resolution assets consume more browser memory
|
|
405
|
+
- Archives extract their contents into memory during loading
|
|
406
|
+
- Video imports may require significant memory for processing
|
|
407
|
+
- Consider limiting the number of simultaneous scene loads in multi-scene applications
|
|
408
|
+
|
|
409
|
+
### Browser Limitations
|
|
410
|
+
|
|
411
|
+
Different browsers have varying capabilities:
|
|
412
|
+
|
|
413
|
+
- **File size limits**: Some browsers limit blob sizes to 500MB-2GB
|
|
414
|
+
- **Network timeouts**: Long-running downloads may timeout (typically 2-5 minutes)
|
|
415
|
+
- **Memory constraints**: Mobile browsers have tighter memory limits than desktop
|
|
416
|
+
- **CORS restrictions**: Cross-origin asset loading requires proper CORS headers
|
|
417
|
+
|
|
418
|
+
### Optimization Strategies
|
|
419
|
+
|
|
420
|
+
Improve import performance with these approaches:
|
|
421
|
+
|
|
422
|
+
- **Preload frequently used scenes** during idle time
|
|
423
|
+
- **Lazy load assets** by using archives with progressive extraction (for very large files)
|
|
424
|
+
- **Compress source media** before creating scenes to reduce file sizes
|
|
425
|
+
- **Use appropriate formats** - archives for portability, scene files for speed
|
|
426
|
+
- **Implement caching** to avoid re-downloading unchanged scenes
|
|
427
|
+
|
|
428
|
+
## Troubleshooting
|
|
429
|
+
|
|
430
|
+
**Scene fails to load with asset errors**
|
|
431
|
+
|
|
432
|
+
When a scene loads but displays missing images or fonts, the asset URLs referenced in the scene are likely inaccessible. Check that:
|
|
433
|
+
|
|
434
|
+
- All asset URLs are still valid and return the resources
|
|
435
|
+
- CORS headers allow fetching assets from their URLs (for cross-origin requests)
|
|
436
|
+
- Network connectivity allows reaching the asset servers
|
|
437
|
+
|
|
438
|
+
**Design tool import fails**
|
|
439
|
+
|
|
440
|
+
Import failures from Photoshop or InDesign files typically occur when:
|
|
441
|
+
|
|
442
|
+
- The file format isn't supported (verify `.psd` for Photoshop, `.idml` for InDesign)
|
|
443
|
+
- The file is corrupted or incomplete
|
|
444
|
+
- The importer service isn't properly configured
|
|
445
|
+
|
|
446
|
+
**Media file fails to load**
|
|
447
|
+
|
|
448
|
+
When `createFromImage()` or `createFromVideo()` fails:
|
|
449
|
+
|
|
450
|
+
- Verify the media URL is accessible and returns the file
|
|
451
|
+
- Check that the file format is supported (common formats: JPG, PNG, MP4, WebM)
|
|
452
|
+
- Ensure CORS headers allow fetching the media resource for cross-origin requests
|
|
453
|
+
|
|
454
|
+
## API Reference
|
|
455
|
+
|
|
456
|
+
| Method | Purpose |
|
|
457
|
+
| -------------------------------------- | --------------------------------------- |
|
|
458
|
+
| `engine.scene.loadFromURL(url)` | Load scene from remote URL |
|
|
459
|
+
| `engine.scene.loadFromString(content)` | Load scene from string content |
|
|
460
|
+
| `engine.scene.loadFromArchiveURL(url)` | Load archived scene with bundled assets |
|
|
461
|
+
| `engine.scene.createFromImage(url)` | Create editable scene from image |
|
|
462
|
+
| `engine.scene.createFromVideo(url)` | Create video editing scene from video |
|
|
463
|
+
| `engine.scene.saveToString()` | Save scene to string for later loading |
|
|
464
|
+
| `engine.scene.saveToArchive()` | Save scene with assets as ZIP archive |
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## Related Pages
|
|
469
|
+
|
|
470
|
+
- [From InDesign](./open-the-editor/import-design/from-indesign.md) - Import Adobe InDesign files (IDML format) into CE.SDK, converting them into editable scenes while preserving text, shapes, images, and positioning.
|
|
471
|
+
- [From Photoshop](./open-the-editor/import-design/from-photoshop.md) - Import Adobe Photoshop (PSD) files into CE.SDK, converting them into editable scenes while preserving layers, text, shapes, and positioning.
|
|
472
|
+
- [Import Design from Archive](./open-the-editor/import-design/from-archive.md) - Load self-contained CE.SDK archive files that bundle scene structure with all referenced assets for portable, reliable design imports.
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## More Resources
|
|
477
|
+
|
|
478
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
479
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
480
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
481
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [Open the Editor](./open-the-editor.md) > [Load a Scene](./open-the-editor/load-scene.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Load previously saved scenes to resume editing or modify existing designs.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
> **Reading time:** 5 minutes
|
|
12
|
+
>
|
|
13
|
+
> **Resources:**
|
|
14
|
+
>
|
|
15
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
16
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-open-the-editor-load-scene-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-open-the-editor-load-scene-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-open-the-editor-load-scene-browser/)
|
|
19
|
+
|
|
20
|
+
Scene files contain layout, properties, and asset references but not the assets themselves. When loading a scene, ensure referenced asset URLs remain accessible. For self-contained packages with bundled assets, use archives instead.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-open-the-editor-load-scene-browser/browser.ts reference-only
|
|
23
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
24
|
+
|
|
25
|
+
import {
|
|
26
|
+
BlurAssetSource,
|
|
27
|
+
ColorPaletteAssetSource,
|
|
28
|
+
CropPresetsAssetSource,
|
|
29
|
+
DemoAssetSources,
|
|
30
|
+
EffectsAssetSource,
|
|
31
|
+
FiltersAssetSource,
|
|
32
|
+
PagePresetsAssetSource,
|
|
33
|
+
StickerAssetSource,
|
|
34
|
+
TextAssetSource,
|
|
35
|
+
TextComponentAssetSource,
|
|
36
|
+
TypefaceAssetSource,
|
|
37
|
+
VectorShapeAssetSource
|
|
38
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
39
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
40
|
+
import packageJson from './package.json';
|
|
41
|
+
|
|
42
|
+
class Example implements EditorPlugin {
|
|
43
|
+
name = packageJson.name;
|
|
44
|
+
version = packageJson.version;
|
|
45
|
+
|
|
46
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
47
|
+
if (cesdk == null) {
|
|
48
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
cesdk.addPlugin(new DesignEditorConfig());
|
|
52
|
+
|
|
53
|
+
cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
54
|
+
cesdk.addPlugin(new CropPresetsAssetSource());
|
|
55
|
+
cesdk.addPlugin(new DemoAssetSources());
|
|
56
|
+
cesdk.addPlugin(new EffectsAssetSource());
|
|
57
|
+
cesdk.addPlugin(new FiltersAssetSource());
|
|
58
|
+
cesdk.addPlugin(new PagePresetsAssetSource());
|
|
59
|
+
cesdk.addPlugin(new StickerAssetSource());
|
|
60
|
+
cesdk.addPlugin(new TextAssetSource());
|
|
61
|
+
cesdk.addPlugin(new TextComponentAssetSource());
|
|
62
|
+
cesdk.addPlugin(new TypefaceAssetSource());
|
|
63
|
+
cesdk.addPlugin(new VectorShapeAssetSource());
|
|
64
|
+
cesdk.addPlugin(new BlurAssetSource());
|
|
65
|
+
cesdk.addPlugin(new DemoAssetSources());
|
|
66
|
+
|
|
67
|
+
const engine = cesdk.engine;
|
|
68
|
+
const sceneUrl =
|
|
69
|
+
'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1.scene';
|
|
70
|
+
await engine.scene.loadFromURL(sceneUrl);
|
|
71
|
+
|
|
72
|
+
const textBlocks = engine.block.findByType('text');
|
|
73
|
+
if (textBlocks.length > 0) {
|
|
74
|
+
engine.block.setDropShadowEnabled(textBlocks[0], true);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Zoom to fit the page in view
|
|
78
|
+
const pages = engine.block.findByType('page');
|
|
79
|
+
if (pages.length > 0) {
|
|
80
|
+
engine.scene.zoomToBlock(pages[0]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export default Example;
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
This guide covers how to load scenes from URLs, strings, and blobs, and how to modify loaded scenes.
|
|
89
|
+
|
|
90
|
+
## Load a Scene from URL
|
|
91
|
+
|
|
92
|
+
The most common approach is loading scenes from a remote URL. The engine replaces any existing scene with the loaded one.
|
|
93
|
+
|
|
94
|
+
```typescript highlight-load-from-url
|
|
95
|
+
const sceneUrl =
|
|
96
|
+
'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1.scene';
|
|
97
|
+
await engine.scene.loadFromURL(sceneUrl);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
The scene URL should point to a valid `.scene` file hosted on a server with appropriate CORS headers. This method is ideal for loading scenes from a CDN or your backend API.
|
|
101
|
+
|
|
102
|
+
## Load a Scene from String
|
|
103
|
+
|
|
104
|
+
When scenes are stored in a database or retrieved from local storage, use `engine.scene.loadFromString()`. This accepts the scene data as a string, typically from a previous `engine.scene.saveToString()` call.
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
const sceneContent = await fetchFromDatabase();
|
|
108
|
+
await engine.scene.loadFromString(sceneContent);
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
This approach is useful for restoring saved user designs, loading scenes from your backend API, or working with scenes stored in databases.
|
|
112
|
+
|
|
113
|
+
## Load a Scene from Blob
|
|
114
|
+
|
|
115
|
+
For file uploads or blob storage, convert the blob to a string first, then load with `engine.scene.loadFromString()`. Use the blob's `text()` method to extract the scene content.
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
const sceneBlob = fileInput.files[0];
|
|
119
|
+
const sceneContent = await sceneBlob.text();
|
|
120
|
+
await engine.scene.loadFromString(sceneContent);
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Modify a Loaded Scene
|
|
124
|
+
|
|
125
|
+
After loading, the scene is immediately editable. Use `engine.block.findByType()` or `engine.block.findByKind()` to locate elements, then modify them with block APIs.
|
|
126
|
+
|
|
127
|
+
```typescript highlight-modify-scene
|
|
128
|
+
const textBlocks = engine.block.findByType('text');
|
|
129
|
+
if (textBlocks.length > 0) {
|
|
130
|
+
engine.block.setDropShadowEnabled(textBlocks[0], true);
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Common modifications include updating text content, swapping images, and adjusting visual properties like drop shadows.
|
|
135
|
+
|
|
136
|
+
## Scene Files vs Archives
|
|
137
|
+
|
|
138
|
+
Scene files (`.scene`) are lightweight and store only references to assets. If asset URLs become unavailable, the scene won't display correctly. For self-contained packages with bundled assets, use `engine.scene.loadFromArchiveURL()` instead. See the [Import from Archive](./open-the-editor/import-design/from-archive.md) guide for details.
|
|
139
|
+
|
|
140
|
+
## Troubleshooting
|
|
141
|
+
|
|
142
|
+
### Scene Fails to Load
|
|
143
|
+
|
|
144
|
+
- Verify the URL is accessible and returns a valid scene file
|
|
145
|
+
- Check CORS headers allow fetching from the scene source
|
|
146
|
+
- Ensure the scene format is compatible with your CE.SDK version
|
|
147
|
+
|
|
148
|
+
### Assets Not Displaying After Load
|
|
149
|
+
|
|
150
|
+
- Scene files store asset references as URLs; ensure those URLs remain accessible
|
|
151
|
+
- Use archives for self-contained scenes with bundled assets
|
|
152
|
+
- Configure a URI resolver if assets are hosted on different servers
|
|
153
|
+
|
|
154
|
+
### String Content Is Invalid
|
|
155
|
+
|
|
156
|
+
- Ensure the string is the exact output from `engine.scene.saveToString()`
|
|
157
|
+
- Verify the string wasn't modified or truncated during storage
|
|
158
|
+
|
|
159
|
+
## API Reference
|
|
160
|
+
|
|
161
|
+
| Method | Description |
|
|
162
|
+
| ------------------------------------- | ------------------------------------------ |
|
|
163
|
+
| `engine.scene.loadFromURL()` | Load a scene from a remote URL |
|
|
164
|
+
| `engine.scene.loadFromString()` | Load a scene from a string |
|
|
165
|
+
| `engine.scene.loadFromArchiveURL()` | Load an archived scene with bundled assets |
|
|
166
|
+
| `engine.scene.saveToString()` | Save scene to string for storage |
|
|
167
|
+
| `engine.block.findByType()` | Find blocks by type |
|
|
168
|
+
| `engine.block.findByKind()` | Find blocks by kind |
|
|
169
|
+
| `engine.block.setDropShadowEnabled()` | Enable or disable drop shadow on a block |
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## More Resources
|
|
174
|
+
|
|
175
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
176
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
177
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
178
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [Open the Editor](./open-the-editor.md) > [Overview](./open-the-editor/overview.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
CreativeEditor SDK (CE.SDK) offers multiple ways to open the editor. Whether you're starting with a blank canvas or importing complex layered files, CE.SDK gives you the building blocks to launch an editing session tailored to your users' needs.
|
|
8
|
+
|
|
9
|
+
[Launch Web Demo](https://img.ly/showcases/cesdk)
|
|
10
|
+
|
|
11
|
+
[Get Started](./get-started/overview.md)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## More Resources
|
|
16
|
+
|
|
17
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
18
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
19
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
20
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|