@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,279 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [Create and Edit Images](./edit-image.md) > [Transform](./edit-image/transform.md) > [Move](./edit-image/transform/move.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Position images on the canvas using absolute pixel coordinates or percentage-based positioning for responsive layouts.
|
|
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-edit-image-transform-move-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-edit-image-transform-move-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-edit-image-transform-move-browser/)
|
|
19
|
+
|
|
20
|
+
Position images on the canvas using coordinates that start at the top-left corner (0, 0). X increases right, Y increases down. Values are relative to the parent block, simplifying nested layouts.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-edit-image-transform-move-browser/browser.ts reference-only
|
|
23
|
+
import CreativeEditorSDK, {
|
|
24
|
+
type EditorPlugin,
|
|
25
|
+
type EditorPluginContext
|
|
26
|
+
} from '@cesdk/cesdk-js';
|
|
27
|
+
|
|
28
|
+
import {
|
|
29
|
+
BlurAssetSource,
|
|
30
|
+
ColorPaletteAssetSource,
|
|
31
|
+
CropPresetsAssetSource,
|
|
32
|
+
DemoAssetSources,
|
|
33
|
+
EffectsAssetSource,
|
|
34
|
+
FiltersAssetSource,
|
|
35
|
+
PagePresetsAssetSource,
|
|
36
|
+
StickerAssetSource,
|
|
37
|
+
TextAssetSource,
|
|
38
|
+
TextComponentAssetSource,
|
|
39
|
+
TypefaceAssetSource,
|
|
40
|
+
UploadAssetSources,
|
|
41
|
+
VectorShapeAssetSource
|
|
42
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
43
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
44
|
+
|
|
45
|
+
class Example implements EditorPlugin {
|
|
46
|
+
name = 'guides-edit-image-transform-move-browser';
|
|
47
|
+
|
|
48
|
+
version = CreativeEditorSDK.version;
|
|
49
|
+
|
|
50
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
51
|
+
if (!cesdk) {
|
|
52
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
53
|
+
}
|
|
54
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
55
|
+
|
|
56
|
+
// Add asset source plugins
|
|
57
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
58
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
59
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
60
|
+
await cesdk.addPlugin(
|
|
61
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
62
|
+
);
|
|
63
|
+
await cesdk.addPlugin(
|
|
64
|
+
new DemoAssetSources({
|
|
65
|
+
include: [
|
|
66
|
+
'ly.img.templates.blank.*',
|
|
67
|
+
'ly.img.templates.presentation.*',
|
|
68
|
+
'ly.img.templates.print.*',
|
|
69
|
+
'ly.img.templates.social.*',
|
|
70
|
+
'ly.img.image.*'
|
|
71
|
+
]
|
|
72
|
+
})
|
|
73
|
+
);
|
|
74
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
75
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
76
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
77
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
78
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
79
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
80
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
81
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
82
|
+
|
|
83
|
+
await cesdk.actions.run('scene.create', {
|
|
84
|
+
page: { width: 800, height: 500, unit: 'Pixel' }
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
const engine = cesdk.engine;
|
|
88
|
+
const page = engine.block.findByType('page')[0];
|
|
89
|
+
|
|
90
|
+
// Demo 1: Movable Image - Can be freely repositioned by user
|
|
91
|
+
const movableImage = await engine.block.addImage(
|
|
92
|
+
'https://img.ly/static/ubq_samples/sample_3.jpg',
|
|
93
|
+
{
|
|
94
|
+
size: { width: 200, height: 200 }
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
engine.block.appendChild(page, movableImage);
|
|
98
|
+
engine.block.setPositionX(movableImage, 0);
|
|
99
|
+
engine.block.setPositionY(movableImage, 100);
|
|
100
|
+
|
|
101
|
+
const text1 = engine.block.create('text');
|
|
102
|
+
engine.block.setString(text1, 'text/text', 'Movable');
|
|
103
|
+
engine.block.setFloat(text1, 'text/fontSize', 32);
|
|
104
|
+
engine.block.setEnum(text1, 'text/horizontalAlignment', 'Center');
|
|
105
|
+
engine.block.setWidth(text1, 200);
|
|
106
|
+
engine.block.setPositionX(text1, 50);
|
|
107
|
+
engine.block.setPositionY(text1, 360);
|
|
108
|
+
engine.block.appendChild(page, text1);
|
|
109
|
+
|
|
110
|
+
// Demo 2: Percentage Positioning - Responsive layout
|
|
111
|
+
const percentImage = await engine.block.addImage(
|
|
112
|
+
'https://img.ly/static/ubq_samples/sample_5.jpg',
|
|
113
|
+
{
|
|
114
|
+
size: { width: 200, height: 200 }
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
engine.block.appendChild(page, percentImage);
|
|
118
|
+
|
|
119
|
+
// Set position mode to percentage (0.0 to 1.0)
|
|
120
|
+
engine.block.setPositionXMode(percentImage, 'Percent');
|
|
121
|
+
engine.block.setPositionYMode(percentImage, 'Percent');
|
|
122
|
+
|
|
123
|
+
// Position at 37.5% from left (300px), 30% from top (150px)
|
|
124
|
+
engine.block.setPositionX(percentImage, 0.375);
|
|
125
|
+
engine.block.setPositionY(percentImage, 0.3);
|
|
126
|
+
|
|
127
|
+
const text2 = engine.block.create('text');
|
|
128
|
+
engine.block.setString(text2, 'text/text', 'Percentage');
|
|
129
|
+
engine.block.setFloat(text2, 'text/fontSize', 32);
|
|
130
|
+
engine.block.setEnum(text2, 'text/horizontalAlignment', 'Center');
|
|
131
|
+
engine.block.setWidth(text2, 200);
|
|
132
|
+
engine.block.setPositionX(text2, 300);
|
|
133
|
+
engine.block.setPositionY(text2, 360);
|
|
134
|
+
engine.block.appendChild(page, text2);
|
|
135
|
+
|
|
136
|
+
// Demo 3: Locked Image - Cannot be moved, rotated, or scaled
|
|
137
|
+
const lockedImage = await engine.block.addImage(
|
|
138
|
+
'https://img.ly/static/ubq_samples/sample_6.jpg',
|
|
139
|
+
{
|
|
140
|
+
size: { width: 200, height: 200 }
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
engine.block.appendChild(page, lockedImage);
|
|
144
|
+
engine.block.setPositionX(lockedImage, 550);
|
|
145
|
+
engine.block.setPositionY(lockedImage, 150);
|
|
146
|
+
|
|
147
|
+
// Lock the transform to prevent user interaction
|
|
148
|
+
engine.block.setBool(lockedImage, 'transformLocked', true);
|
|
149
|
+
|
|
150
|
+
const text3 = engine.block.create('text');
|
|
151
|
+
engine.block.setString(text3, 'text/text', 'Locked');
|
|
152
|
+
engine.block.setFloat(text3, 'text/fontSize', 32);
|
|
153
|
+
engine.block.setEnum(text3, 'text/horizontalAlignment', 'Center');
|
|
154
|
+
engine.block.setWidth(text3, 200);
|
|
155
|
+
engine.block.setPositionX(text3, 550);
|
|
156
|
+
engine.block.setPositionY(text3, 360);
|
|
157
|
+
engine.block.appendChild(page, text3);
|
|
158
|
+
|
|
159
|
+
// Get current position values
|
|
160
|
+
const currentX = engine.block.getPositionX(movableImage);
|
|
161
|
+
const currentY = engine.block.getPositionY(movableImage);
|
|
162
|
+
console.log('Current position:', currentX, currentY);
|
|
163
|
+
|
|
164
|
+
// Move relative to current position
|
|
165
|
+
const offsetX = engine.block.getPositionX(movableImage);
|
|
166
|
+
const offsetY = engine.block.getPositionY(movableImage);
|
|
167
|
+
engine.block.setPositionX(movableImage, offsetX + 50);
|
|
168
|
+
engine.block.setPositionY(movableImage, offsetY + 50);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export default Example;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
This guide covers positioning images with absolute or percentage coordinates, configuring position modes, and locking transforms to prevent repositioning.
|
|
176
|
+
|
|
177
|
+
## Position Coordinates
|
|
178
|
+
|
|
179
|
+
Coordinates originate at the top-left (0, 0) of the parent container. Use **absolute** mode for fixed pixel values or **percentage** mode (0.0 to 1.0) for responsive layouts that adapt to parent size changes.
|
|
180
|
+
|
|
181
|
+
## Positioning Images
|
|
182
|
+
|
|
183
|
+
Position images using `engine.block.setPositionX()` and `engine.block.setPositionY()` with absolute pixel coordinates:
|
|
184
|
+
|
|
185
|
+
```typescript highlight-movable-image
|
|
186
|
+
engine.block.appendChild(page, movableImage);
|
|
187
|
+
engine.block.setPositionX(movableImage, 0);
|
|
188
|
+
engine.block.setPositionY(movableImage, 100);
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Getting Current Position
|
|
192
|
+
|
|
193
|
+
Read current position values using `engine.block.getPositionX()` and `engine.block.getPositionY()`. Values are returned in the current position mode (absolute pixels or percentage 0.0-1.0):
|
|
194
|
+
|
|
195
|
+
```typescript highlight-get-position
|
|
196
|
+
// Get current position values
|
|
197
|
+
const currentX = engine.block.getPositionX(movableImage);
|
|
198
|
+
const currentY = engine.block.getPositionY(movableImage);
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Configuring Position Modes
|
|
202
|
+
|
|
203
|
+
Control how position values are interpreted using `engine.block.setPositionXMode()` and `engine.block.setPositionYMode()`. Set to `'Absolute'` for pixels or `'Percent'` for percentage values (0.0 to 1.0). Check the current mode using `engine.block.getPositionXMode()` and `engine.block.getPositionYMode()`. The Percentage Positioning section below demonstrates setting these modes.
|
|
204
|
+
|
|
205
|
+
## Percentage Positioning
|
|
206
|
+
|
|
207
|
+
Position images using percentage values (0.0 to 1.0) for responsive layouts. Set the position mode to `'Percent'`, then use values between 0.0 and 1.0:
|
|
208
|
+
|
|
209
|
+
```typescript highlight-percentage-positioning
|
|
210
|
+
// Set position mode to percentage (0.0 to 1.0)
|
|
211
|
+
engine.block.setPositionXMode(percentImage, 'Percent');
|
|
212
|
+
engine.block.setPositionYMode(percentImage, 'Percent');
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Percentage positioning adapts automatically when the parent block dimensions change, maintaining relative positions in responsive designs.
|
|
216
|
+
|
|
217
|
+
## Relative Positioning
|
|
218
|
+
|
|
219
|
+
Move images relative to their current position by getting the current coordinates and adding offset values:
|
|
220
|
+
|
|
221
|
+
```typescript highlight-relative-positioning
|
|
222
|
+
// Move relative to current position
|
|
223
|
+
const offsetX = engine.block.getPositionX(movableImage);
|
|
224
|
+
const offsetY = engine.block.getPositionY(movableImage);
|
|
225
|
+
engine.block.setPositionX(movableImage, offsetX + 50);
|
|
226
|
+
engine.block.setPositionY(movableImage, offsetY + 50);
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Locking Transforms
|
|
230
|
+
|
|
231
|
+
Lock transforms to prevent repositioning, rotation, and scaling by setting `transformLocked` to true:
|
|
232
|
+
|
|
233
|
+
```typescript highlight-locked-image
|
|
234
|
+
// Lock the transform to prevent user interaction
|
|
235
|
+
engine.block.setBool(lockedImage, 'transformLocked', true);
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Troubleshooting
|
|
239
|
+
|
|
240
|
+
### Image Not Moving
|
|
241
|
+
|
|
242
|
+
Check if transforms are locked using `engine.block.getBool(block, 'transformLocked')`. Ensure the image block exists and values are within parent bounds.
|
|
243
|
+
|
|
244
|
+
### Unexpected Position Values
|
|
245
|
+
|
|
246
|
+
Check position mode using `engine.block.getPositionXMode()` and `engine.block.getPositionYMode()`. Verify if using absolute (pixels) vs percentage (0.0-1.0) values. Review parent block dimensions if using percentage positioning.
|
|
247
|
+
|
|
248
|
+
### Positioned Outside Visible Area
|
|
249
|
+
|
|
250
|
+
Verify parent block dimensions and boundaries. Check coordinate system: origin is top-left, not center. Review X/Y values for calculation errors.
|
|
251
|
+
|
|
252
|
+
### Percentage Positioning Not Responsive
|
|
253
|
+
|
|
254
|
+
Ensure position mode is set to `'Percent'` using `engine.block.setPositionXMode(block, 'Percent')`. Verify percentage values are between 0.0 and 1.0. Check that parent block dimensions can change.
|
|
255
|
+
|
|
256
|
+
## API Reference
|
|
257
|
+
|
|
258
|
+
| Method | Description |
|
|
259
|
+
| --------------------------------- | ------------------------------------------ |
|
|
260
|
+
| `engine.block.addImage()` | Create and position image in one operation |
|
|
261
|
+
| `engine.block.setPositionX()` | Set X coordinate value |
|
|
262
|
+
| `engine.block.setPositionY()` | Set Y coordinate value |
|
|
263
|
+
| `engine.block.getPositionX()` | Get current X coordinate value |
|
|
264
|
+
| `engine.block.getPositionY()` | Get current Y coordinate value |
|
|
265
|
+
| `engine.block.setPositionXMode()` | Set position mode for X coordinate |
|
|
266
|
+
| `engine.block.setPositionYMode()` | Set position mode for Y coordinate |
|
|
267
|
+
| `engine.block.getPositionXMode()` | Get position mode for X coordinate |
|
|
268
|
+
| `engine.block.getPositionYMode()` | Get position mode for Y coordinate |
|
|
269
|
+
| `engine.block.setBool()` | Set transform lock state |
|
|
270
|
+
| `engine.block.getBool()` | Get transform lock state |
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## More Resources
|
|
275
|
+
|
|
276
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
277
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
278
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
279
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [Create and Edit Images](./edit-image.md) > [Transform](./edit-image/transform.md) > [Resize](./edit-image/transform/resize.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Change image dimensions using absolute pixel values, percentage-based sizing for responsive layouts, or auto-sizing based on content.
|
|
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-edit-image-transform-resize-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-edit-image-transform-resize-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-edit-image-transform-resize-browser/)
|
|
19
|
+
|
|
20
|
+
Image resizing changes actual dimensions rather than applying scale multipliers. Use `engine.block.setWidth()` and `engine.block.setHeight()` for individual dimensions, or `engine.block.setSize()` for both at once.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-edit-image-transform-resize-browser/browser.ts reference-only
|
|
23
|
+
import CreativeEditorSDK, {
|
|
24
|
+
type EditorPlugin,
|
|
25
|
+
type EditorPluginContext
|
|
26
|
+
} from '@cesdk/cesdk-js';
|
|
27
|
+
|
|
28
|
+
import {
|
|
29
|
+
BlurAssetSource,
|
|
30
|
+
ColorPaletteAssetSource,
|
|
31
|
+
CropPresetsAssetSource,
|
|
32
|
+
DemoAssetSources,
|
|
33
|
+
EffectsAssetSource,
|
|
34
|
+
FiltersAssetSource,
|
|
35
|
+
PagePresetsAssetSource,
|
|
36
|
+
StickerAssetSource,
|
|
37
|
+
TextAssetSource,
|
|
38
|
+
TextComponentAssetSource,
|
|
39
|
+
TypefaceAssetSource,
|
|
40
|
+
UploadAssetSources,
|
|
41
|
+
VectorShapeAssetSource
|
|
42
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
43
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
44
|
+
|
|
45
|
+
class Example implements EditorPlugin {
|
|
46
|
+
name = 'guides-edit-image-transform-resize-browser';
|
|
47
|
+
|
|
48
|
+
version = CreativeEditorSDK.version;
|
|
49
|
+
|
|
50
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
51
|
+
if (!cesdk) {
|
|
52
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
56
|
+
|
|
57
|
+
// Add asset source plugins
|
|
58
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
59
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
60
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
61
|
+
await cesdk.addPlugin(
|
|
62
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
63
|
+
);
|
|
64
|
+
await cesdk.addPlugin(
|
|
65
|
+
new DemoAssetSources({
|
|
66
|
+
include: [
|
|
67
|
+
'ly.img.templates.blank.*',
|
|
68
|
+
'ly.img.templates.presentation.*',
|
|
69
|
+
'ly.img.templates.print.*',
|
|
70
|
+
'ly.img.templates.social.*',
|
|
71
|
+
'ly.img.image.*'
|
|
72
|
+
]
|
|
73
|
+
})
|
|
74
|
+
);
|
|
75
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
76
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
77
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
78
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
79
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
80
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
81
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
82
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
83
|
+
|
|
84
|
+
await cesdk.actions.run('scene.create', {
|
|
85
|
+
page: { width: 800, height: 500, unit: 'Pixel' }
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
const engine = cesdk.engine;
|
|
89
|
+
const page = engine.block.findByType('page')[0];
|
|
90
|
+
|
|
91
|
+
// Demo 1: Absolute Sizing - Fixed dimensions
|
|
92
|
+
const absoluteImage = await engine.block.addImage(
|
|
93
|
+
'https://img.ly/static/ubq_samples/sample_3.jpg',
|
|
94
|
+
{
|
|
95
|
+
size: { width: 180, height: 180 }
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
engine.block.appendChild(page, absoluteImage);
|
|
99
|
+
engine.block.setPositionX(absoluteImage, 20);
|
|
100
|
+
engine.block.setPositionY(absoluteImage, 80);
|
|
101
|
+
|
|
102
|
+
// Set explicit dimensions using setSize
|
|
103
|
+
engine.block.setSize(absoluteImage, 180, 180, {
|
|
104
|
+
sizeMode: 'Absolute'
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
const text1 = engine.block.create('text');
|
|
108
|
+
engine.block.setString(text1, 'text/text', 'Absolute');
|
|
109
|
+
engine.block.setFloat(text1, 'text/fontSize', 28);
|
|
110
|
+
engine.block.setEnum(text1, 'text/horizontalAlignment', 'Center');
|
|
111
|
+
engine.block.setWidth(text1, 180);
|
|
112
|
+
engine.block.setPositionX(text1, 20);
|
|
113
|
+
engine.block.setPositionY(text1, 280);
|
|
114
|
+
engine.block.appendChild(page, text1);
|
|
115
|
+
|
|
116
|
+
// Demo 2: Percentage Sizing - Responsive layout
|
|
117
|
+
const percentImage = await engine.block.addImage(
|
|
118
|
+
'https://img.ly/static/ubq_samples/sample_5.jpg',
|
|
119
|
+
{
|
|
120
|
+
size: { width: 180, height: 180 }
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
engine.block.appendChild(page, percentImage);
|
|
124
|
+
engine.block.setPositionX(percentImage, 220);
|
|
125
|
+
engine.block.setPositionY(percentImage, 80);
|
|
126
|
+
|
|
127
|
+
// Set size mode to percentage for responsive sizing
|
|
128
|
+
engine.block.setWidthMode(percentImage, 'Percent');
|
|
129
|
+
engine.block.setHeightMode(percentImage, 'Percent');
|
|
130
|
+
// Values 0.0 to 1.0 represent percentage of parent
|
|
131
|
+
engine.block.setWidth(percentImage, 0.225);
|
|
132
|
+
engine.block.setHeight(percentImage, 0.36);
|
|
133
|
+
|
|
134
|
+
const text2 = engine.block.create('text');
|
|
135
|
+
engine.block.setString(text2, 'text/text', 'Percentage');
|
|
136
|
+
engine.block.setFloat(text2, 'text/fontSize', 28);
|
|
137
|
+
engine.block.setEnum(text2, 'text/horizontalAlignment', 'Center');
|
|
138
|
+
engine.block.setWidth(text2, 180);
|
|
139
|
+
engine.block.setPositionX(text2, 220);
|
|
140
|
+
engine.block.setPositionY(text2, 280);
|
|
141
|
+
engine.block.appendChild(page, text2);
|
|
142
|
+
|
|
143
|
+
// Demo 3: Resized with maintainCrop
|
|
144
|
+
const cropImage = await engine.block.addImage(
|
|
145
|
+
'https://img.ly/static/ubq_samples/sample_6.jpg',
|
|
146
|
+
{
|
|
147
|
+
size: { width: 180, height: 180 }
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
engine.block.appendChild(page, cropImage);
|
|
151
|
+
engine.block.setPositionX(cropImage, 420);
|
|
152
|
+
engine.block.setPositionY(cropImage, 80);
|
|
153
|
+
|
|
154
|
+
// Resize while preserving crop settings
|
|
155
|
+
engine.block.setWidth(cropImage, 180, true);
|
|
156
|
+
engine.block.setHeight(cropImage, 180, true);
|
|
157
|
+
|
|
158
|
+
const text3 = engine.block.create('text');
|
|
159
|
+
engine.block.setString(text3, 'text/text', 'Maintain Crop');
|
|
160
|
+
engine.block.setFloat(text3, 'text/fontSize', 28);
|
|
161
|
+
engine.block.setEnum(text3, 'text/horizontalAlignment', 'Center');
|
|
162
|
+
engine.block.setWidth(text3, 180);
|
|
163
|
+
engine.block.setPositionX(text3, 420);
|
|
164
|
+
engine.block.setPositionY(text3, 280);
|
|
165
|
+
engine.block.appendChild(page, text3);
|
|
166
|
+
|
|
167
|
+
// Get current dimensions
|
|
168
|
+
const currentWidth = engine.block.getWidth(absoluteImage);
|
|
169
|
+
const currentHeight = engine.block.getHeight(absoluteImage);
|
|
170
|
+
const widthMode = engine.block.getWidthMode(absoluteImage);
|
|
171
|
+
const heightMode = engine.block.getHeightMode(absoluteImage);
|
|
172
|
+
console.log('Current dimensions:', currentWidth, 'x', currentHeight);
|
|
173
|
+
console.log('Size modes:', widthMode, heightMode);
|
|
174
|
+
|
|
175
|
+
// Get calculated frame dimensions after layout
|
|
176
|
+
const frameWidth = engine.block.getFrameWidth(absoluteImage);
|
|
177
|
+
const frameHeight = engine.block.getFrameHeight(absoluteImage);
|
|
178
|
+
console.log('Frame dimensions:', frameWidth, 'x', frameHeight);
|
|
179
|
+
|
|
180
|
+
// Title text at top
|
|
181
|
+
const titleText = engine.block.create('text');
|
|
182
|
+
engine.block.setString(titleText, 'text/text', 'Image Resize Examples');
|
|
183
|
+
engine.block.setFloat(titleText, 'text/fontSize', 36);
|
|
184
|
+
engine.block.setEnum(titleText, 'text/horizontalAlignment', 'Center');
|
|
185
|
+
engine.block.setWidth(titleText, 800);
|
|
186
|
+
engine.block.setPositionX(titleText, 0);
|
|
187
|
+
engine.block.setPositionY(titleText, 20);
|
|
188
|
+
engine.block.appendChild(page, titleText);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export default Example;
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
This guide covers resizing images with absolute or percentage sizing, configuring size modes, and maintaining crop settings during resize.
|
|
196
|
+
|
|
197
|
+
## Understanding Size Modes
|
|
198
|
+
|
|
199
|
+
Size values are interpreted in three modes. 'Absolute' uses fixed design units, 'Percent' uses parent-relative values (0.0-1.0), and 'Auto' sizes based on content. Use `engine.block.getWidth()` for the configured value and `engine.block.getFrameWidth()` for actual rendered size after layout.
|
|
200
|
+
|
|
201
|
+
## Setting Absolute Dimensions
|
|
202
|
+
|
|
203
|
+
Set explicit dimensions using `engine.block.setSize()` with absolute pixel values:
|
|
204
|
+
|
|
205
|
+
```typescript highlight-set-size
|
|
206
|
+
// Set explicit dimensions using setSize
|
|
207
|
+
engine.block.setSize(absoluteImage, 180, 180, {
|
|
208
|
+
sizeMode: 'Absolute'
|
|
209
|
+
});
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Percentage Sizing
|
|
213
|
+
|
|
214
|
+
Use percentage mode for responsive sizing. Values range from 0.0 to 1.0 representing percentage of parent container:
|
|
215
|
+
|
|
216
|
+
```typescript highlight-percentage-mode
|
|
217
|
+
// Set size mode to percentage for responsive sizing
|
|
218
|
+
engine.block.setWidthMode(percentImage, 'Percent');
|
|
219
|
+
engine.block.setHeightMode(percentImage, 'Percent');
|
|
220
|
+
// Values 0.0 to 1.0 represent percentage of parent
|
|
221
|
+
engine.block.setWidth(percentImage, 0.225);
|
|
222
|
+
engine.block.setHeight(percentImage, 0.36);
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Percentage sizing adapts automatically when the parent block dimensions change, maintaining relative sizes in responsive designs.
|
|
226
|
+
|
|
227
|
+
## Maintaining Crop During Resize
|
|
228
|
+
|
|
229
|
+
Use the `maintainCrop` parameter to preserve existing crop settings when resizing:
|
|
230
|
+
|
|
231
|
+
```typescript highlight-maintain-crop
|
|
232
|
+
// Resize while preserving crop settings
|
|
233
|
+
engine.block.setWidth(cropImage, 180, true);
|
|
234
|
+
engine.block.setHeight(cropImage, 180, true);
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Setting `maintainCrop` to `true` automatically adjusts crop values to preserve the visible area.
|
|
238
|
+
|
|
239
|
+
## Getting Current Dimensions
|
|
240
|
+
|
|
241
|
+
Read current configured dimensions and size modes:
|
|
242
|
+
|
|
243
|
+
```typescript highlight-get-dimensions
|
|
244
|
+
// Get current dimensions
|
|
245
|
+
const currentWidth = engine.block.getWidth(absoluteImage);
|
|
246
|
+
const currentHeight = engine.block.getHeight(absoluteImage);
|
|
247
|
+
const widthMode = engine.block.getWidthMode(absoluteImage);
|
|
248
|
+
const heightMode = engine.block.getHeightMode(absoluteImage);
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Getting Frame Dimensions
|
|
252
|
+
|
|
253
|
+
Get calculated frame dimensions after layout:
|
|
254
|
+
|
|
255
|
+
```typescript highlight-frame-dimensions
|
|
256
|
+
// Get calculated frame dimensions after layout
|
|
257
|
+
const frameWidth = engine.block.getFrameWidth(absoluteImage);
|
|
258
|
+
const frameHeight = engine.block.getFrameHeight(absoluteImage);
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
The difference between configured values and frame dimensions matters when using percentage or auto sizing modes.
|
|
262
|
+
|
|
263
|
+
## Troubleshooting
|
|
264
|
+
|
|
265
|
+
### Image Not Resizing
|
|
266
|
+
|
|
267
|
+
Check if locked using `engine.block.getBool(block, 'constraints/size/locked')`. Verify size constraints aren't limiting changes. Ensure the block exists and confirm correct units for the size mode.
|
|
268
|
+
|
|
269
|
+
### Unexpected Size Values
|
|
270
|
+
|
|
271
|
+
Check mode using `engine.block.getWidthMode()` and `engine.block.getHeightMode()`. Verify absolute (design units) vs percentage (0.0-1.0) values. For percentage mode, review parent block dimensions.
|
|
272
|
+
|
|
273
|
+
### Image Appears Stretched
|
|
274
|
+
|
|
275
|
+
Calculate and set both dimensions proportionally. Use `maintainCrop: true` when resizing cropped images. Check `scene/aspectRatioLock` for scenes.
|
|
276
|
+
|
|
277
|
+
## API Reference
|
|
278
|
+
|
|
279
|
+
| Method | Description |
|
|
280
|
+
| ------------------------------- | --------------------------------------- |
|
|
281
|
+
| `engine.block.addImage()` | Create and size image in one operation |
|
|
282
|
+
| `engine.block.setSize()` | Set width and height with optional mode |
|
|
283
|
+
| `engine.block.setWidth()` | Set width value |
|
|
284
|
+
| `engine.block.setHeight()` | Set height value |
|
|
285
|
+
| `engine.block.getWidth()` | Get current width value |
|
|
286
|
+
| `engine.block.getHeight()` | Get current height value |
|
|
287
|
+
| `engine.block.setWidthMode()` | Set width interpretation mode |
|
|
288
|
+
| `engine.block.setHeightMode()` | Set height interpretation mode |
|
|
289
|
+
| `engine.block.getWidthMode()` | Get width interpretation mode |
|
|
290
|
+
| `engine.block.getHeightMode()` | Get height interpretation mode |
|
|
291
|
+
| `engine.block.getFrameWidth()` | Get calculated frame width |
|
|
292
|
+
| `engine.block.getFrameHeight()` | Get calculated frame height |
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## More Resources
|
|
297
|
+
|
|
298
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
299
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
300
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
301
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|