@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,515 @@
|
|
|
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) > [Outlines](./outlines.md) > [Shadows and Glows](./outlines/shadows-and-glows.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Add visual depth and emphasis to design elements using drop shadows and glow effects in CE.SDK.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
> **Reading time:** 10 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-outlines-shadows-and-glows-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-outlines-shadows-and-glows-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-outlines-shadows-and-glows-browser/)
|
|
19
|
+
|
|
20
|
+
Drop shadows create the illusion of elements floating above the canvas, while glow effects add luminous halos that make elements stand out. CE.SDK provides two approaches: **drop shadows** as native block properties and **glow effects** through the effects system. Both can be applied to graphic blocks, text, and shapes.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-outlines-shadows-and-glows-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
|
+
|
|
42
|
+
class Example implements EditorPlugin {
|
|
43
|
+
name = 'guides-outlines-shadows-and-glows-browser';
|
|
44
|
+
version = '1.0.0';
|
|
45
|
+
|
|
46
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
47
|
+
if (!cesdk) {
|
|
48
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
49
|
+
}
|
|
50
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
51
|
+
|
|
52
|
+
// Add asset source plugins
|
|
53
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
54
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
55
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
56
|
+
await cesdk.addPlugin(
|
|
57
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
58
|
+
);
|
|
59
|
+
await cesdk.addPlugin(
|
|
60
|
+
new DemoAssetSources({
|
|
61
|
+
include: [
|
|
62
|
+
'ly.img.templates.blank.*',
|
|
63
|
+
'ly.img.templates.presentation.*',
|
|
64
|
+
'ly.img.templates.print.*',
|
|
65
|
+
'ly.img.templates.social.*',
|
|
66
|
+
'ly.img.image.*'
|
|
67
|
+
]
|
|
68
|
+
})
|
|
69
|
+
);
|
|
70
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
71
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
72
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
73
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
74
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
75
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
76
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
77
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
78
|
+
|
|
79
|
+
await cesdk.actions.run('scene.create', {
|
|
80
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
const engine = cesdk.engine;
|
|
84
|
+
const page = engine.block.findByType('page')[0]!;
|
|
85
|
+
|
|
86
|
+
// Add a gradient background that complements the beach image
|
|
87
|
+
const gradientFill = engine.block.createFill('gradient/linear');
|
|
88
|
+
engine.block.setFill(page, gradientFill);
|
|
89
|
+
engine.block.setGradientColorStops(gradientFill, 'fill/gradient/colors', [
|
|
90
|
+
{ color: { r: 0.0, g: 0.75, b: 0.85, a: 1.0 }, stop: 0.0 }, // Turquoise
|
|
91
|
+
{ color: { r: 0.95, g: 0.85, b: 0.7, a: 1.0 }, stop: 0.5 }, // Sandy
|
|
92
|
+
{ color: { r: 0.85, g: 0.55, b: 0.45, a: 1.0 }, stop: 1.0 } // Coral
|
|
93
|
+
]);
|
|
94
|
+
engine.block.setFloat(gradientFill, 'fill/gradient/linear/startPointX', 0);
|
|
95
|
+
engine.block.setFloat(gradientFill, 'fill/gradient/linear/startPointY', 0);
|
|
96
|
+
engine.block.setFloat(gradientFill, 'fill/gradient/linear/endPointX', 1);
|
|
97
|
+
engine.block.setFloat(gradientFill, 'fill/gradient/linear/endPointY', 1);
|
|
98
|
+
|
|
99
|
+
// Create a title text block to demonstrate drop shadow
|
|
100
|
+
const textBlock = engine.block.create('text');
|
|
101
|
+
engine.block.replaceText(textBlock, 'Shadows & Glows');
|
|
102
|
+
engine.block.setTextFontSize(textBlock, 80);
|
|
103
|
+
engine.block.setWidthMode(textBlock, 'Auto');
|
|
104
|
+
engine.block.setHeightMode(textBlock, 'Auto');
|
|
105
|
+
engine.block.setPositionX(textBlock, 40);
|
|
106
|
+
engine.block.setPositionY(textBlock, 40);
|
|
107
|
+
engine.block.appendChild(page, textBlock);
|
|
108
|
+
|
|
109
|
+
// Set text color to white for contrast
|
|
110
|
+
const textFill = engine.block.getFill(textBlock);
|
|
111
|
+
engine.block.setColor(textFill, 'fill/color/value', {
|
|
112
|
+
r: 1.0,
|
|
113
|
+
g: 1.0,
|
|
114
|
+
b: 1.0,
|
|
115
|
+
a: 1.0
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// Check if block supports drop shadows
|
|
119
|
+
const canHaveDropShadow = engine.block.supportsDropShadow(textBlock);
|
|
120
|
+
console.log('Block supports drop shadow:', canHaveDropShadow);
|
|
121
|
+
|
|
122
|
+
if (canHaveDropShadow) {
|
|
123
|
+
// Enable drop shadow on the block
|
|
124
|
+
engine.block.setDropShadowEnabled(textBlock, true);
|
|
125
|
+
const shadowIsEnabled = engine.block.isDropShadowEnabled(textBlock);
|
|
126
|
+
console.log('Drop shadow enabled:', shadowIsEnabled);
|
|
127
|
+
|
|
128
|
+
// Set drop shadow color to a deep teal
|
|
129
|
+
engine.block.setDropShadowColor(textBlock, {
|
|
130
|
+
r: 0.0,
|
|
131
|
+
g: 0.3,
|
|
132
|
+
b: 0.4,
|
|
133
|
+
a: 0.8
|
|
134
|
+
});
|
|
135
|
+
const shadowColor = engine.block.getDropShadowColor(textBlock);
|
|
136
|
+
console.log('Drop shadow color:', shadowColor);
|
|
137
|
+
|
|
138
|
+
// Set shadow offset (positive values move right/down)
|
|
139
|
+
engine.block.setDropShadowOffsetX(textBlock, 6);
|
|
140
|
+
engine.block.setDropShadowOffsetY(textBlock, 6);
|
|
141
|
+
const offsetX = engine.block.getDropShadowOffsetX(textBlock);
|
|
142
|
+
const offsetY = engine.block.getDropShadowOffsetY(textBlock);
|
|
143
|
+
console.log('Drop shadow offset:', offsetX, offsetY);
|
|
144
|
+
|
|
145
|
+
// Set blur radius for soft shadow edges
|
|
146
|
+
engine.block.setDropShadowBlurRadiusX(textBlock, 12);
|
|
147
|
+
engine.block.setDropShadowBlurRadiusY(textBlock, 12);
|
|
148
|
+
const blurX = engine.block.getDropShadowBlurRadiusX(textBlock);
|
|
149
|
+
const blurY = engine.block.getDropShadowBlurRadiusY(textBlock);
|
|
150
|
+
console.log('Drop shadow blur:', blurX, blurY);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Create an image block to demonstrate glow effect
|
|
154
|
+
const imageUri = 'https://img.ly/static/ubq_samples/sample_4.jpg';
|
|
155
|
+
const imageBlock = await engine.block.addImage(imageUri, {
|
|
156
|
+
x: 450,
|
|
157
|
+
y: 150,
|
|
158
|
+
size: { width: 300, height: 300 }
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// Check if block supports effects (including glow)
|
|
162
|
+
const canHaveEffects = engine.block.supportsEffects(imageBlock);
|
|
163
|
+
console.log('Block supports effects:', canHaveEffects);
|
|
164
|
+
|
|
165
|
+
if (canHaveEffects) {
|
|
166
|
+
// Create and apply a glow effect
|
|
167
|
+
const glowEffect = engine.block.createEffect('glow');
|
|
168
|
+
engine.block.appendEffect(imageBlock, glowEffect);
|
|
169
|
+
|
|
170
|
+
// Configure glow parameters
|
|
171
|
+
engine.block.setFloat(glowEffect, 'effect/glow/size', 25);
|
|
172
|
+
engine.block.setFloat(glowEffect, 'effect/glow/amount', 0.7);
|
|
173
|
+
engine.block.setFloat(glowEffect, 'effect/glow/darkness', 0.25);
|
|
174
|
+
console.log('Glow effect applied');
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Create a second image block to demonstrate combining shadow and glow
|
|
178
|
+
const secondImageUri = 'https://img.ly/static/ubq_samples/sample_5.jpg';
|
|
179
|
+
const combinedBlock = await engine.block.addImage(secondImageUri, {
|
|
180
|
+
x: 50,
|
|
181
|
+
y: 180,
|
|
182
|
+
size: { width: 300, height: 300 }
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
// Apply both drop shadow and glow to the same block
|
|
186
|
+
if (engine.block.supportsDropShadow(combinedBlock)) {
|
|
187
|
+
engine.block.setDropShadowEnabled(combinedBlock, true);
|
|
188
|
+
engine.block.setDropShadowColor(combinedBlock, {
|
|
189
|
+
r: 0.0,
|
|
190
|
+
g: 0.2,
|
|
191
|
+
b: 0.3,
|
|
192
|
+
a: 0.6
|
|
193
|
+
});
|
|
194
|
+
engine.block.setDropShadowOffsetX(combinedBlock, 8);
|
|
195
|
+
engine.block.setDropShadowOffsetY(combinedBlock, 8);
|
|
196
|
+
engine.block.setDropShadowBlurRadiusX(combinedBlock, 20);
|
|
197
|
+
engine.block.setDropShadowBlurRadiusY(combinedBlock, 20);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (engine.block.supportsEffects(combinedBlock)) {
|
|
201
|
+
const combinedGlow = engine.block.createEffect('glow');
|
|
202
|
+
engine.block.appendEffect(combinedBlock, combinedGlow);
|
|
203
|
+
engine.block.setFloat(combinedGlow, 'effect/glow/size', 15);
|
|
204
|
+
engine.block.setFloat(combinedGlow, 'effect/glow/amount', 0.5);
|
|
205
|
+
engine.block.setFloat(combinedGlow, 'effect/glow/darkness', 0.15);
|
|
206
|
+
}
|
|
207
|
+
console.log('Combined shadow and glow applied');
|
|
208
|
+
|
|
209
|
+
// Toggle drop shadow visibility
|
|
210
|
+
const wasEnabled = engine.block.isDropShadowEnabled(textBlock);
|
|
211
|
+
engine.block.setDropShadowEnabled(textBlock, false);
|
|
212
|
+
console.log(
|
|
213
|
+
'Shadow disabled:',
|
|
214
|
+
!engine.block.isDropShadowEnabled(textBlock)
|
|
215
|
+
);
|
|
216
|
+
engine.block.setDropShadowEnabled(textBlock, wasEnabled);
|
|
217
|
+
console.log(
|
|
218
|
+
'Shadow re-enabled:',
|
|
219
|
+
engine.block.isDropShadowEnabled(textBlock)
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
// Toggle glow effect visibility
|
|
223
|
+
const effects = engine.block.getEffects(imageBlock);
|
|
224
|
+
if (effects.length > 0) {
|
|
225
|
+
const glowEffect = effects[0];
|
|
226
|
+
engine.block.setEffectEnabled(glowEffect, false);
|
|
227
|
+
console.log('Glow disabled:', !engine.block.isEffectEnabled(glowEffect));
|
|
228
|
+
engine.block.setEffectEnabled(glowEffect, true);
|
|
229
|
+
console.log('Glow re-enabled:', engine.block.isEffectEnabled(glowEffect));
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// Select the text block to show it in the inspector
|
|
233
|
+
engine.block.select(textBlock);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export default Example;
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
This guide covers configuring drop shadows with dedicated API methods and applying glow effects through the effects system.
|
|
241
|
+
|
|
242
|
+
## Using the Built-in UI
|
|
243
|
+
|
|
244
|
+
The CE.SDK editor provides shadow controls in the inspector panel when you select a supported block. The UI includes:
|
|
245
|
+
|
|
246
|
+
- **Enable toggle** - Turn shadows on or off
|
|
247
|
+
- **Color picker** - Choose shadow color with RGBA support
|
|
248
|
+
- **Offset controls** - Adjust horizontal and vertical shadow position
|
|
249
|
+
- **Blur controls** - Set shadow softness
|
|
250
|
+
|
|
251
|
+
Select any text, shape, or image block and access the shadow settings through the inspector panel.
|
|
252
|
+
|
|
253
|
+
## Drop Shadow Configuration
|
|
254
|
+
|
|
255
|
+
Drop shadows are native block properties configured directly through dedicated API methods.
|
|
256
|
+
|
|
257
|
+
### Check Support and Enable
|
|
258
|
+
|
|
259
|
+
Before configuring drop shadows, verify the block supports them using `supportsDropShadow()`. Enable the shadow with `setDropShadowEnabled()`.
|
|
260
|
+
|
|
261
|
+
```typescript highlight=highlight-setup
|
|
262
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
263
|
+
|
|
264
|
+
// Add asset source plugins
|
|
265
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
266
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
267
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
268
|
+
await cesdk.addPlugin(
|
|
269
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
270
|
+
);
|
|
271
|
+
await cesdk.addPlugin(
|
|
272
|
+
new DemoAssetSources({
|
|
273
|
+
include: [
|
|
274
|
+
'ly.img.templates.blank.*',
|
|
275
|
+
'ly.img.templates.presentation.*',
|
|
276
|
+
'ly.img.templates.print.*',
|
|
277
|
+
'ly.img.templates.social.*',
|
|
278
|
+
'ly.img.image.*'
|
|
279
|
+
]
|
|
280
|
+
})
|
|
281
|
+
);
|
|
282
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
283
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
284
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
285
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
286
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
287
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
288
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
289
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
290
|
+
|
|
291
|
+
await cesdk.actions.run('scene.create', {
|
|
292
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
293
|
+
});
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Use `supportsDropShadow()` to check if the block supports shadows:
|
|
297
|
+
|
|
298
|
+
```typescript highlight=highlight-check-drop-shadow-support
|
|
299
|
+
// Check if block supports drop shadows
|
|
300
|
+
const canHaveDropShadow = engine.block.supportsDropShadow(textBlock);
|
|
301
|
+
console.log('Block supports drop shadow:', canHaveDropShadow);
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Once verified, enable the drop shadow:
|
|
305
|
+
|
|
306
|
+
```typescript highlight=highlight-enable-drop-shadow
|
|
307
|
+
// Enable drop shadow on the block
|
|
308
|
+
engine.block.setDropShadowEnabled(textBlock, true);
|
|
309
|
+
const shadowIsEnabled = engine.block.isDropShadowEnabled(textBlock);
|
|
310
|
+
console.log('Drop shadow enabled:', shadowIsEnabled);
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Set Shadow Color
|
|
314
|
+
|
|
315
|
+
Configure the shadow color using `setDropShadowColor()` with an RGBA color object. Color values range from 0.0 to 1.0.
|
|
316
|
+
|
|
317
|
+
```typescript highlight=highlight-set-drop-shadow-color
|
|
318
|
+
// Set drop shadow color to a deep teal
|
|
319
|
+
engine.block.setDropShadowColor(textBlock, {
|
|
320
|
+
r: 0.0,
|
|
321
|
+
g: 0.3,
|
|
322
|
+
b: 0.4,
|
|
323
|
+
a: 0.8
|
|
324
|
+
});
|
|
325
|
+
const shadowColor = engine.block.getDropShadowColor(textBlock);
|
|
326
|
+
console.log('Drop shadow color:', shadowColor);
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Set Shadow Position
|
|
330
|
+
|
|
331
|
+
Control horizontal and vertical offset using `setDropShadowOffsetX()` and `setDropShadowOffsetY()`. Positive values move the shadow right and down, negative values move left and up.
|
|
332
|
+
|
|
333
|
+
```typescript highlight=highlight-set-drop-shadow-offset
|
|
334
|
+
// Set shadow offset (positive values move right/down)
|
|
335
|
+
engine.block.setDropShadowOffsetX(textBlock, 6);
|
|
336
|
+
engine.block.setDropShadowOffsetY(textBlock, 6);
|
|
337
|
+
const offsetX = engine.block.getDropShadowOffsetX(textBlock);
|
|
338
|
+
const offsetY = engine.block.getDropShadowOffsetY(textBlock);
|
|
339
|
+
console.log('Drop shadow offset:', offsetX, offsetY);
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Configure Blur Radius
|
|
343
|
+
|
|
344
|
+
Set shadow softness with `setDropShadowBlurRadiusX()` and `setDropShadowBlurRadiusY()`. Higher values create softer shadows.
|
|
345
|
+
|
|
346
|
+
```typescript highlight=highlight-set-drop-shadow-blur
|
|
347
|
+
// Set blur radius for soft shadow edges
|
|
348
|
+
engine.block.setDropShadowBlurRadiusX(textBlock, 12);
|
|
349
|
+
engine.block.setDropShadowBlurRadiusY(textBlock, 12);
|
|
350
|
+
const blurX = engine.block.getDropShadowBlurRadiusX(textBlock);
|
|
351
|
+
const blurY = engine.block.getDropShadowBlurRadiusY(textBlock);
|
|
352
|
+
console.log('Drop shadow blur:', blurX, blurY);
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Glow Effect Configuration
|
|
356
|
+
|
|
357
|
+
Glow effects are created through the effects system and attached to blocks that support effects.
|
|
358
|
+
|
|
359
|
+
### Check Support and Create Glow
|
|
360
|
+
|
|
361
|
+
Verify the block supports effects using `supportsEffects()`, then create a glow effect with `createEffect('glow')` and attach it using `appendEffect()`.
|
|
362
|
+
|
|
363
|
+
```typescript highlight=highlight-check-glow-support
|
|
364
|
+
// Check if block supports effects (including glow)
|
|
365
|
+
const canHaveEffects = engine.block.supportsEffects(imageBlock);
|
|
366
|
+
console.log('Block supports effects:', canHaveEffects);
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
Create the glow effect and attach it to the block:
|
|
370
|
+
|
|
371
|
+
```typescript highlight=highlight-create-glow-effect
|
|
372
|
+
// Create and apply a glow effect
|
|
373
|
+
const glowEffect = engine.block.createEffect('glow');
|
|
374
|
+
engine.block.appendEffect(imageBlock, glowEffect);
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
### Configure Glow Parameters
|
|
378
|
+
|
|
379
|
+
Adjust glow appearance using `setFloat()` with glow-specific properties:
|
|
380
|
+
|
|
381
|
+
- `effect/glow/size` - Controls the spread of the glow
|
|
382
|
+
- `effect/glow/amount` - Controls glow intensity (0.0 to 1.0)
|
|
383
|
+
- `effect/glow/darkness` - Controls the darkness/opacity of the glow
|
|
384
|
+
|
|
385
|
+
```typescript highlight=highlight-configure-glow
|
|
386
|
+
// Configure glow parameters
|
|
387
|
+
engine.block.setFloat(glowEffect, 'effect/glow/size', 25);
|
|
388
|
+
engine.block.setFloat(glowEffect, 'effect/glow/amount', 0.7);
|
|
389
|
+
engine.block.setFloat(glowEffect, 'effect/glow/darkness', 0.25);
|
|
390
|
+
console.log('Glow effect applied');
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Combining Shadows and Glows
|
|
394
|
+
|
|
395
|
+
Drop shadows and glow effects can both be applied to the same block. Drop shadows render independently of the effects stack, so both appear simultaneously.
|
|
396
|
+
|
|
397
|
+
```typescript highlight=highlight-combine-shadow-glow
|
|
398
|
+
// Apply both drop shadow and glow to the same block
|
|
399
|
+
if (engine.block.supportsDropShadow(combinedBlock)) {
|
|
400
|
+
engine.block.setDropShadowEnabled(combinedBlock, true);
|
|
401
|
+
engine.block.setDropShadowColor(combinedBlock, {
|
|
402
|
+
r: 0.0,
|
|
403
|
+
g: 0.2,
|
|
404
|
+
b: 0.3,
|
|
405
|
+
a: 0.6
|
|
406
|
+
});
|
|
407
|
+
engine.block.setDropShadowOffsetX(combinedBlock, 8);
|
|
408
|
+
engine.block.setDropShadowOffsetY(combinedBlock, 8);
|
|
409
|
+
engine.block.setDropShadowBlurRadiusX(combinedBlock, 20);
|
|
410
|
+
engine.block.setDropShadowBlurRadiusY(combinedBlock, 20);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
if (engine.block.supportsEffects(combinedBlock)) {
|
|
414
|
+
const combinedGlow = engine.block.createEffect('glow');
|
|
415
|
+
engine.block.appendEffect(combinedBlock, combinedGlow);
|
|
416
|
+
engine.block.setFloat(combinedGlow, 'effect/glow/size', 15);
|
|
417
|
+
engine.block.setFloat(combinedGlow, 'effect/glow/amount', 0.5);
|
|
418
|
+
engine.block.setFloat(combinedGlow, 'effect/glow/darkness', 0.15);
|
|
419
|
+
}
|
|
420
|
+
console.log('Combined shadow and glow applied');
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Managing Shadow and Glow State
|
|
424
|
+
|
|
425
|
+
### Toggle Drop Shadows
|
|
426
|
+
|
|
427
|
+
Enable or disable drop shadows with `setDropShadowEnabled()`. Query the current state with `isDropShadowEnabled()`.
|
|
428
|
+
|
|
429
|
+
```typescript highlight=highlight-toggle-shadow
|
|
430
|
+
// Toggle drop shadow visibility
|
|
431
|
+
const wasEnabled = engine.block.isDropShadowEnabled(textBlock);
|
|
432
|
+
engine.block.setDropShadowEnabled(textBlock, false);
|
|
433
|
+
console.log('Shadow disabled:', !engine.block.isDropShadowEnabled(textBlock));
|
|
434
|
+
engine.block.setDropShadowEnabled(textBlock, wasEnabled);
|
|
435
|
+
console.log('Shadow re-enabled:', engine.block.isDropShadowEnabled(textBlock));
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### Toggle Glow Effects
|
|
439
|
+
|
|
440
|
+
Enable or disable glow effects with `setEffectEnabled()`. Query the state with `isEffectEnabled()`.
|
|
441
|
+
|
|
442
|
+
```typescript highlight=highlight-toggle-glow
|
|
443
|
+
// Toggle glow effect visibility
|
|
444
|
+
const effects = engine.block.getEffects(imageBlock);
|
|
445
|
+
if (effects.length > 0) {
|
|
446
|
+
const glowEffect = effects[0];
|
|
447
|
+
engine.block.setEffectEnabled(glowEffect, false);
|
|
448
|
+
console.log('Glow disabled:', !engine.block.isEffectEnabled(glowEffect));
|
|
449
|
+
engine.block.setEffectEnabled(glowEffect, true);
|
|
450
|
+
console.log('Glow re-enabled:', engine.block.isEffectEnabled(glowEffect));
|
|
451
|
+
}
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
## Troubleshooting
|
|
455
|
+
|
|
456
|
+
### Shadow Not Visible
|
|
457
|
+
|
|
458
|
+
- Verify the block supports drop shadows using `supportsDropShadow()`
|
|
459
|
+
- Check that drop shadow is enabled with `isDropShadowEnabled()`
|
|
460
|
+
- Ensure offset values are non-zero to see the shadow
|
|
461
|
+
- Verify the shadow color has sufficient opacity (alpha channel)
|
|
462
|
+
|
|
463
|
+
### Glow Not Appearing
|
|
464
|
+
|
|
465
|
+
- Verify the block supports effects using `supportsEffects()`
|
|
466
|
+
- Check that the effect is enabled with `isEffectEnabled()`
|
|
467
|
+
- Ensure glow amount and size are greater than 0
|
|
468
|
+
|
|
469
|
+
### Performance Issues
|
|
470
|
+
|
|
471
|
+
- Limit the number of effects per block on mobile devices
|
|
472
|
+
- Consider disabling shadows/glows during intensive editing operations
|
|
473
|
+
- Use reasonable blur radius values to maintain performance
|
|
474
|
+
|
|
475
|
+
## API Reference
|
|
476
|
+
|
|
477
|
+
| Method | Description |
|
|
478
|
+
| ----------------------------------------------- | ------------------------------------ |
|
|
479
|
+
| `block.supportsDropShadow(block)` | Check if block supports drop shadows |
|
|
480
|
+
| `block.setDropShadowEnabled(block, enabled)` | Enable or disable drop shadow |
|
|
481
|
+
| `block.isDropShadowEnabled(block)` | Check if drop shadow is enabled |
|
|
482
|
+
| `block.setDropShadowColor(block, color)` | Set shadow color (RGBA) |
|
|
483
|
+
| `block.getDropShadowColor(block)` | Get current shadow color |
|
|
484
|
+
| `block.setDropShadowOffsetX(block, offset)` | Set horizontal shadow offset |
|
|
485
|
+
| `block.setDropShadowOffsetY(block, offset)` | Set vertical shadow offset |
|
|
486
|
+
| `block.getDropShadowOffsetX(block)` | Get horizontal offset |
|
|
487
|
+
| `block.getDropShadowOffsetY(block)` | Get vertical offset |
|
|
488
|
+
| `block.setDropShadowBlurRadiusX(block, radius)` | Set horizontal blur radius |
|
|
489
|
+
| `block.setDropShadowBlurRadiusY(block, radius)` | Set vertical blur radius |
|
|
490
|
+
| `block.getDropShadowBlurRadiusX(block)` | Get horizontal blur radius |
|
|
491
|
+
| `block.getDropShadowBlurRadiusY(block)` | Get vertical blur radius |
|
|
492
|
+
| `block.supportsEffects(block)` | Check if block supports effects |
|
|
493
|
+
| `block.createEffect('glow')` | Create a glow effect instance |
|
|
494
|
+
| `block.appendEffect(block, effect)` | Attach glow to a block |
|
|
495
|
+
| `block.setFloat(effect, property, value)` | Set glow parameters |
|
|
496
|
+
| `block.setEffectEnabled(effect, enabled)` | Enable or disable glow |
|
|
497
|
+
| `block.isEffectEnabled(effect)` | Check if glow is enabled |
|
|
498
|
+
| `block.getEffects(block)` | Get all effects on a block |
|
|
499
|
+
|
|
500
|
+
## Next Steps
|
|
501
|
+
|
|
502
|
+
[Using Strokes](./outlines/strokes.md) - Add border outlines to elements
|
|
503
|
+
|
|
504
|
+
[Apply Filters and Effects](./filters-and-effects/apply.md) - Explore additional visual effects
|
|
505
|
+
|
|
506
|
+
[Blur Effects](./filters-and-effects/blur.md) - Apply blur effects to elements
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
## More Resources
|
|
511
|
+
|
|
512
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
513
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
514
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
515
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|