@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,551 @@
|
|
|
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) > [Colors](./colors.md) > [Adjust Colors](./colors/adjust.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Fine-tune images and design elements using CE.SDK's color adjustments system to control brightness, contrast, saturation, and other visual properties.
|
|
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-colors-adjust-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-colors-adjust-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-colors-adjust-browser/)
|
|
19
|
+
|
|
20
|
+
Color adjustments allow you to modify the visual appearance of images and graphics by changing properties like brightness, contrast, saturation, and color temperature. CE.SDK implements color adjustments as an "adjustments" effect type that you can apply to compatible blocks.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-colors-adjust-browser/browser.ts reference-only
|
|
23
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
24
|
+
|
|
25
|
+
import {
|
|
26
|
+
BlurAssetSource,
|
|
27
|
+
ColorPaletteAssetSource,
|
|
28
|
+
CropPresetsAssetSource,
|
|
29
|
+
DemoAssetSources,
|
|
30
|
+
EffectsAssetSource,
|
|
31
|
+
FiltersAssetSource,
|
|
32
|
+
PagePresetsAssetSource,
|
|
33
|
+
StickerAssetSource,
|
|
34
|
+
TextAssetSource,
|
|
35
|
+
TextComponentAssetSource,
|
|
36
|
+
TypefaceAssetSource,
|
|
37
|
+
UploadAssetSources,
|
|
38
|
+
VectorShapeAssetSource
|
|
39
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
40
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
41
|
+
import packageJson from './package.json';
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* CE.SDK Plugin: Adjust Colors Guide
|
|
45
|
+
*
|
|
46
|
+
* Demonstrates how to adjust color properties of images and design elements:
|
|
47
|
+
* - Creating adjustments effects
|
|
48
|
+
* - Setting brightness, contrast, saturation, and other properties
|
|
49
|
+
* - Enabling/disabling adjustments
|
|
50
|
+
* - Reading adjustment values
|
|
51
|
+
* - Applying different adjustment styles
|
|
52
|
+
*/
|
|
53
|
+
class Example implements EditorPlugin {
|
|
54
|
+
name = packageJson.name;
|
|
55
|
+
|
|
56
|
+
version = packageJson.version;
|
|
57
|
+
|
|
58
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
59
|
+
if (!cesdk) {
|
|
60
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
64
|
+
|
|
65
|
+
// Add asset source plugins
|
|
66
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
67
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
68
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
69
|
+
await cesdk.addPlugin(
|
|
70
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
71
|
+
);
|
|
72
|
+
await cesdk.addPlugin(
|
|
73
|
+
new DemoAssetSources({
|
|
74
|
+
include: [
|
|
75
|
+
'ly.img.templates.blank.*',
|
|
76
|
+
'ly.img.templates.presentation.*',
|
|
77
|
+
'ly.img.templates.print.*',
|
|
78
|
+
'ly.img.templates.social.*',
|
|
79
|
+
'ly.img.image.*'
|
|
80
|
+
]
|
|
81
|
+
})
|
|
82
|
+
);
|
|
83
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
84
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
85
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
86
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
87
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
88
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
89
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
90
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
91
|
+
|
|
92
|
+
await cesdk.actions.run('scene.create', {
|
|
93
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// Enable adjustments in the inspector panel
|
|
97
|
+
cesdk.feature.enable('ly.img.adjustment');
|
|
98
|
+
|
|
99
|
+
const engine = cesdk.engine;
|
|
100
|
+
const page = engine.block.findByType('page')[0];
|
|
101
|
+
|
|
102
|
+
// Create a sample image to demonstrate color adjustments
|
|
103
|
+
const imageUri = 'https://img.ly/static/ubq_samples/sample_1.jpg';
|
|
104
|
+
|
|
105
|
+
// Check if a block supports effects before applying adjustments
|
|
106
|
+
const imageBlock = await engine.block.addImage(imageUri, {
|
|
107
|
+
size: { width: 400, height: 300 }
|
|
108
|
+
});
|
|
109
|
+
engine.block.appendChild(page, imageBlock);
|
|
110
|
+
engine.block.setPositionX(imageBlock, 200);
|
|
111
|
+
engine.block.setPositionY(imageBlock, 150);
|
|
112
|
+
|
|
113
|
+
const supportsEffects = engine.block.supportsEffects(imageBlock);
|
|
114
|
+
console.log('Block supports effects:', supportsEffects);
|
|
115
|
+
|
|
116
|
+
// Create an adjustments effect
|
|
117
|
+
const adjustmentsEffect = engine.block.createEffect('adjustments');
|
|
118
|
+
|
|
119
|
+
// Attach the adjustments effect to the image block
|
|
120
|
+
engine.block.appendEffect(imageBlock, adjustmentsEffect);
|
|
121
|
+
|
|
122
|
+
// Set brightness - positive values lighten, negative values darken
|
|
123
|
+
engine.block.setFloat(
|
|
124
|
+
adjustmentsEffect,
|
|
125
|
+
'effect/adjustments/brightness',
|
|
126
|
+
0.4
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
// Set contrast - increases or decreases tonal range
|
|
130
|
+
engine.block.setFloat(
|
|
131
|
+
adjustmentsEffect,
|
|
132
|
+
'effect/adjustments/contrast',
|
|
133
|
+
0.35
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
// Set saturation - increases or decreases color intensity
|
|
137
|
+
engine.block.setFloat(
|
|
138
|
+
adjustmentsEffect,
|
|
139
|
+
'effect/adjustments/saturation',
|
|
140
|
+
0.5
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
// Set temperature - positive for warmer, negative for cooler tones
|
|
144
|
+
engine.block.setFloat(
|
|
145
|
+
adjustmentsEffect,
|
|
146
|
+
'effect/adjustments/temperature',
|
|
147
|
+
0.25
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
// Read current adjustment values
|
|
151
|
+
const brightness = engine.block.getFloat(
|
|
152
|
+
adjustmentsEffect,
|
|
153
|
+
'effect/adjustments/brightness'
|
|
154
|
+
);
|
|
155
|
+
console.log('Current brightness:', brightness);
|
|
156
|
+
|
|
157
|
+
// Discover all available adjustment properties
|
|
158
|
+
const allProperties = engine.block.findAllProperties(adjustmentsEffect);
|
|
159
|
+
console.log('Available adjustment properties:', allProperties);
|
|
160
|
+
|
|
161
|
+
// Disable adjustments temporarily (effect remains attached)
|
|
162
|
+
engine.block.setEffectEnabled(adjustmentsEffect, false);
|
|
163
|
+
console.log(
|
|
164
|
+
'Adjustments enabled:',
|
|
165
|
+
engine.block.isEffectEnabled(adjustmentsEffect)
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
// Re-enable adjustments
|
|
169
|
+
engine.block.setEffectEnabled(adjustmentsEffect, true);
|
|
170
|
+
|
|
171
|
+
// Create a second image to demonstrate a different adjustment style
|
|
172
|
+
const secondImageBlock = await engine.block.addImage(imageUri, {
|
|
173
|
+
size: { width: 200, height: 150 }
|
|
174
|
+
});
|
|
175
|
+
engine.block.appendChild(page, secondImageBlock);
|
|
176
|
+
engine.block.setPositionX(secondImageBlock, 50);
|
|
177
|
+
engine.block.setPositionY(secondImageBlock, 50);
|
|
178
|
+
|
|
179
|
+
// Apply a contrasting style: darker, high contrast, desaturated (moody look)
|
|
180
|
+
const combinedAdjustments = engine.block.createEffect('adjustments');
|
|
181
|
+
engine.block.appendEffect(secondImageBlock, combinedAdjustments);
|
|
182
|
+
engine.block.setFloat(
|
|
183
|
+
combinedAdjustments,
|
|
184
|
+
'effect/adjustments/brightness',
|
|
185
|
+
-0.15
|
|
186
|
+
);
|
|
187
|
+
engine.block.setFloat(
|
|
188
|
+
combinedAdjustments,
|
|
189
|
+
'effect/adjustments/contrast',
|
|
190
|
+
0.4
|
|
191
|
+
);
|
|
192
|
+
engine.block.setFloat(
|
|
193
|
+
combinedAdjustments,
|
|
194
|
+
'effect/adjustments/saturation',
|
|
195
|
+
-0.3
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
// List all effects on the block
|
|
199
|
+
const effects = engine.block.getEffects(secondImageBlock);
|
|
200
|
+
console.log('Effects on second image:', effects.length);
|
|
201
|
+
|
|
202
|
+
// Demonstrate removing an effect
|
|
203
|
+
const tempBlock = await engine.block.addImage(imageUri, {
|
|
204
|
+
size: { width: 150, height: 100 }
|
|
205
|
+
});
|
|
206
|
+
engine.block.appendChild(page, tempBlock);
|
|
207
|
+
engine.block.setPositionX(tempBlock, 550);
|
|
208
|
+
engine.block.setPositionY(tempBlock, 50);
|
|
209
|
+
|
|
210
|
+
const tempEffect = engine.block.createEffect('adjustments');
|
|
211
|
+
engine.block.appendEffect(tempBlock, tempEffect);
|
|
212
|
+
engine.block.setFloat(tempEffect, 'effect/adjustments/brightness', 0.5);
|
|
213
|
+
|
|
214
|
+
// Remove the effect by index
|
|
215
|
+
const tempEffects = engine.block.getEffects(tempBlock);
|
|
216
|
+
const effectIndex = tempEffects.indexOf(tempEffect);
|
|
217
|
+
if (effectIndex !== -1) {
|
|
218
|
+
engine.block.removeEffect(tempBlock, effectIndex);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// Destroy the removed effect to free memory
|
|
222
|
+
engine.block.destroy(tempEffect);
|
|
223
|
+
|
|
224
|
+
// Add refinement adjustments to demonstrate subtle enhancement properties
|
|
225
|
+
const refinementEffect = engine.block.createEffect('adjustments');
|
|
226
|
+
engine.block.appendEffect(tempBlock, refinementEffect);
|
|
227
|
+
|
|
228
|
+
// Sharpness - enhances edge definition
|
|
229
|
+
engine.block.setFloat(
|
|
230
|
+
refinementEffect,
|
|
231
|
+
'effect/adjustments/sharpness',
|
|
232
|
+
0.4
|
|
233
|
+
);
|
|
234
|
+
|
|
235
|
+
// Clarity - increases mid-tone contrast for more detail
|
|
236
|
+
engine.block.setFloat(refinementEffect, 'effect/adjustments/clarity', 0.35);
|
|
237
|
+
|
|
238
|
+
// Highlights - adjusts bright areas
|
|
239
|
+
engine.block.setFloat(
|
|
240
|
+
refinementEffect,
|
|
241
|
+
'effect/adjustments/highlights',
|
|
242
|
+
-0.2
|
|
243
|
+
);
|
|
244
|
+
|
|
245
|
+
// Shadows - adjusts dark areas
|
|
246
|
+
engine.block.setFloat(refinementEffect, 'effect/adjustments/shadows', 0.3);
|
|
247
|
+
|
|
248
|
+
// Select the main image block to show adjustments panel
|
|
249
|
+
engine.block.select(imageBlock);
|
|
250
|
+
|
|
251
|
+
console.log(
|
|
252
|
+
'Color adjustments guide initialized. Select an image to see the adjustments panel.'
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export default Example;
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
This guide covers how to use the built-in adjustments UI panel and how to apply color adjustments programmatically using the block API.
|
|
261
|
+
|
|
262
|
+
## Using the Built-in Adjustments UI
|
|
263
|
+
|
|
264
|
+
CE.SDK provides a built-in adjustments panel that allows users to modify color properties interactively. Users can access this panel by selecting an image or graphic block in the editor.
|
|
265
|
+
|
|
266
|
+
### Enable Adjustments Features
|
|
267
|
+
|
|
268
|
+
To give users access to adjustments in the inspector panel, we enable the adjustments feature using CE.SDK's Feature API.
|
|
269
|
+
|
|
270
|
+
```typescript highlight=highlight-feature-enable
|
|
271
|
+
// Enable adjustments in the inspector panel
|
|
272
|
+
cesdk.feature.enable('ly.img.adjustment');
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
With adjustments enabled, users can:
|
|
276
|
+
|
|
277
|
+
- **Adjust sliders** for brightness, contrast, saturation, exposure, and more
|
|
278
|
+
- **See real-time preview** of changes as they adjust values
|
|
279
|
+
- **Reset adjustments** individually or all at once to restore defaults
|
|
280
|
+
|
|
281
|
+
## Programmatic Color Adjustments
|
|
282
|
+
|
|
283
|
+
For applications that need to apply adjustments programmatically—whether for automation, batch processing, or dynamic user experiences—we use the block API.
|
|
284
|
+
|
|
285
|
+
### Check Block Compatibility
|
|
286
|
+
|
|
287
|
+
Before applying adjustments, we verify the block supports effects. Not all block types support adjustments—for example, page blocks don't support effects directly, but image and graphic blocks do.
|
|
288
|
+
|
|
289
|
+
```typescript highlight=highlight-check-support
|
|
290
|
+
// Check if a block supports effects before applying adjustments
|
|
291
|
+
const imageBlock = await engine.block.addImage(imageUri, {
|
|
292
|
+
size: { width: 400, height: 300 }
|
|
293
|
+
});
|
|
294
|
+
engine.block.appendChild(page, imageBlock);
|
|
295
|
+
engine.block.setPositionX(imageBlock, 200);
|
|
296
|
+
engine.block.setPositionY(imageBlock, 150);
|
|
297
|
+
|
|
298
|
+
const supportsEffects = engine.block.supportsEffects(imageBlock);
|
|
299
|
+
console.log('Block supports effects:', supportsEffects);
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Create and Apply Adjustments Effect
|
|
303
|
+
|
|
304
|
+
Once we've confirmed a block supports effects, we create an adjustments effect and attach it to the block using `appendEffect()`.
|
|
305
|
+
|
|
306
|
+
```typescript highlight=highlight-create-adjustments
|
|
307
|
+
// Create an adjustments effect
|
|
308
|
+
const adjustmentsEffect = engine.block.createEffect('adjustments');
|
|
309
|
+
|
|
310
|
+
// Attach the adjustments effect to the image block
|
|
311
|
+
engine.block.appendEffect(imageBlock, adjustmentsEffect);
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Each block can have one adjustments effect in its effect stack. The adjustments effect provides access to all color adjustment properties through a single effect instance.
|
|
315
|
+
|
|
316
|
+
### Modify Adjustment Properties
|
|
317
|
+
|
|
318
|
+
We set individual adjustment values using `setFloat()` with the effect block ID and property path. Each property uses the `effect/adjustments/` prefix followed by the property name.
|
|
319
|
+
|
|
320
|
+
```typescript highlight=highlight-set-properties
|
|
321
|
+
// Set brightness - positive values lighten, negative values darken
|
|
322
|
+
engine.block.setFloat(adjustmentsEffect, 'effect/adjustments/brightness', 0.4);
|
|
323
|
+
|
|
324
|
+
// Set contrast - increases or decreases tonal range
|
|
325
|
+
engine.block.setFloat(adjustmentsEffect, 'effect/adjustments/contrast', 0.35);
|
|
326
|
+
|
|
327
|
+
// Set saturation - increases or decreases color intensity
|
|
328
|
+
engine.block.setFloat(adjustmentsEffect, 'effect/adjustments/saturation', 0.5);
|
|
329
|
+
|
|
330
|
+
// Set temperature - positive for warmer, negative for cooler tones
|
|
331
|
+
engine.block.setFloat(
|
|
332
|
+
adjustmentsEffect,
|
|
333
|
+
'effect/adjustments/temperature',
|
|
334
|
+
0.25
|
|
335
|
+
);
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
CE.SDK provides the following adjustment properties:
|
|
339
|
+
|
|
340
|
+
| Property | Description |
|
|
341
|
+
| ------------- | ----------------------------------------------------------------------------- |
|
|
342
|
+
| `brightness` | Overall lightness—positive values lighten, negative values darken |
|
|
343
|
+
| `contrast` | Tonal range—increases or decreases the difference between light and dark |
|
|
344
|
+
| `saturation` | Color intensity—positive values increase vibrancy, negative values desaturate |
|
|
345
|
+
| `exposure` | Exposure compensation—simulates camera exposure adjustments |
|
|
346
|
+
| `gamma` | Gamma curve—adjusts midtone brightness |
|
|
347
|
+
| `highlights` | Bright area intensity—controls the lightest parts of the image |
|
|
348
|
+
| `shadows` | Dark area intensity—controls the darkest parts of the image |
|
|
349
|
+
| `whites` | White point—adjusts the brightest pixels |
|
|
350
|
+
| `blacks` | Black point—adjusts the darkest pixels |
|
|
351
|
+
| `temperature` | Warm/cool color cast—positive for warmer, negative for cooler tones |
|
|
352
|
+
| `sharpness` | Edge sharpness—enhances or softens edges |
|
|
353
|
+
| `clarity` | Midtone contrast—increases local contrast for more definition |
|
|
354
|
+
|
|
355
|
+
All properties accept float values. Experiment with different values to achieve the desired visual result.
|
|
356
|
+
|
|
357
|
+
### Read Adjustment Values
|
|
358
|
+
|
|
359
|
+
We can read current adjustment values using `getFloat()` with the same property paths. Use `findAllProperties()` to discover all available properties on an adjustments effect.
|
|
360
|
+
|
|
361
|
+
```typescript highlight=highlight-read-values
|
|
362
|
+
// Read current adjustment values
|
|
363
|
+
const brightness = engine.block.getFloat(
|
|
364
|
+
adjustmentsEffect,
|
|
365
|
+
'effect/adjustments/brightness'
|
|
366
|
+
);
|
|
367
|
+
console.log('Current brightness:', brightness);
|
|
368
|
+
|
|
369
|
+
// Discover all available adjustment properties
|
|
370
|
+
const allProperties = engine.block.findAllProperties(adjustmentsEffect);
|
|
371
|
+
console.log('Available adjustment properties:', allProperties);
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
This is useful for building custom UI controls or syncing adjustment values across your application.
|
|
375
|
+
|
|
376
|
+
### Enable and Disable Adjustments
|
|
377
|
+
|
|
378
|
+
CE.SDK allows you to temporarily toggle adjustments on and off without removing them from the block. This is useful for before/after comparisons.
|
|
379
|
+
|
|
380
|
+
```typescript highlight=highlight-enable-disable
|
|
381
|
+
// Disable adjustments temporarily (effect remains attached)
|
|
382
|
+
engine.block.setEffectEnabled(adjustmentsEffect, false);
|
|
383
|
+
console.log(
|
|
384
|
+
'Adjustments enabled:',
|
|
385
|
+
engine.block.isEffectEnabled(adjustmentsEffect)
|
|
386
|
+
);
|
|
387
|
+
|
|
388
|
+
// Re-enable adjustments
|
|
389
|
+
engine.block.setEffectEnabled(adjustmentsEffect, true);
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
When you disable an adjustments effect, it remains attached to the block but won't be rendered until you enable it again. This preserves all adjustment values while giving you control over when adjustments are applied.
|
|
393
|
+
|
|
394
|
+
## Applying Different Adjustment Styles
|
|
395
|
+
|
|
396
|
+
You can apply different adjustment combinations to create distinct visual styles. This example demonstrates a contrasting moody look using negative brightness, high contrast, and desaturation.
|
|
397
|
+
|
|
398
|
+
```typescript highlight=highlight-combine-effects
|
|
399
|
+
// Create a second image to demonstrate a different adjustment style
|
|
400
|
+
const secondImageBlock = await engine.block.addImage(imageUri, {
|
|
401
|
+
size: { width: 200, height: 150 }
|
|
402
|
+
});
|
|
403
|
+
engine.block.appendChild(page, secondImageBlock);
|
|
404
|
+
engine.block.setPositionX(secondImageBlock, 50);
|
|
405
|
+
engine.block.setPositionY(secondImageBlock, 50);
|
|
406
|
+
|
|
407
|
+
// Apply a contrasting style: darker, high contrast, desaturated (moody look)
|
|
408
|
+
const combinedAdjustments = engine.block.createEffect('adjustments');
|
|
409
|
+
engine.block.appendEffect(secondImageBlock, combinedAdjustments);
|
|
410
|
+
engine.block.setFloat(
|
|
411
|
+
combinedAdjustments,
|
|
412
|
+
'effect/adjustments/brightness',
|
|
413
|
+
-0.15
|
|
414
|
+
);
|
|
415
|
+
engine.block.setFloat(combinedAdjustments, 'effect/adjustments/contrast', 0.4);
|
|
416
|
+
engine.block.setFloat(
|
|
417
|
+
combinedAdjustments,
|
|
418
|
+
'effect/adjustments/saturation',
|
|
419
|
+
-0.3
|
|
420
|
+
);
|
|
421
|
+
|
|
422
|
+
// List all effects on the block
|
|
423
|
+
const effects = engine.block.getEffects(secondImageBlock);
|
|
424
|
+
console.log('Effects on second image:', effects.length);
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
By combining different adjustment properties, you can create warm and vibrant looks, cool and desaturated styles, or high-contrast dramatic effects.
|
|
428
|
+
|
|
429
|
+
## Refinement Adjustments
|
|
430
|
+
|
|
431
|
+
Beyond basic color corrections, CE.SDK provides refinement adjustments for fine-tuning image detail and tonal balance.
|
|
432
|
+
|
|
433
|
+
```typescript highlight=highlight-refinement-adjustments
|
|
434
|
+
// Add refinement adjustments to demonstrate subtle enhancement properties
|
|
435
|
+
const refinementEffect = engine.block.createEffect('adjustments');
|
|
436
|
+
engine.block.appendEffect(tempBlock, refinementEffect);
|
|
437
|
+
|
|
438
|
+
// Sharpness - enhances edge definition
|
|
439
|
+
engine.block.setFloat(refinementEffect, 'effect/adjustments/sharpness', 0.4);
|
|
440
|
+
|
|
441
|
+
// Clarity - increases mid-tone contrast for more detail
|
|
442
|
+
engine.block.setFloat(refinementEffect, 'effect/adjustments/clarity', 0.35);
|
|
443
|
+
|
|
444
|
+
// Highlights - adjusts bright areas
|
|
445
|
+
engine.block.setFloat(refinementEffect, 'effect/adjustments/highlights', -0.2);
|
|
446
|
+
|
|
447
|
+
// Shadows - adjusts dark areas
|
|
448
|
+
engine.block.setFloat(refinementEffect, 'effect/adjustments/shadows', 0.3);
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Refinement properties include:
|
|
452
|
+
|
|
453
|
+
- **Sharpness** - Enhances edge definition for crisper details
|
|
454
|
+
- **Clarity** - Increases mid-tone contrast for more depth and definition
|
|
455
|
+
- **Highlights** - Controls the intensity of bright areas
|
|
456
|
+
- **Shadows** - Controls the intensity of dark areas
|
|
457
|
+
|
|
458
|
+
These adjustments are particularly useful for enhancing photos or preparing images for print.
|
|
459
|
+
|
|
460
|
+
## Managing Adjustments
|
|
461
|
+
|
|
462
|
+
### Remove Adjustments
|
|
463
|
+
|
|
464
|
+
When you no longer need adjustments, you can remove them from the effect stack and free resources. Always destroy effects that are no longer in use to prevent memory leaks.
|
|
465
|
+
|
|
466
|
+
```typescript highlight=highlight-remove-adjustments
|
|
467
|
+
// Demonstrate removing an effect
|
|
468
|
+
const tempBlock = await engine.block.addImage(imageUri, {
|
|
469
|
+
size: { width: 150, height: 100 }
|
|
470
|
+
});
|
|
471
|
+
engine.block.appendChild(page, tempBlock);
|
|
472
|
+
engine.block.setPositionX(tempBlock, 550);
|
|
473
|
+
engine.block.setPositionY(tempBlock, 50);
|
|
474
|
+
|
|
475
|
+
const tempEffect = engine.block.createEffect('adjustments');
|
|
476
|
+
engine.block.appendEffect(tempBlock, tempEffect);
|
|
477
|
+
engine.block.setFloat(tempEffect, 'effect/adjustments/brightness', 0.5);
|
|
478
|
+
|
|
479
|
+
// Remove the effect by index
|
|
480
|
+
const tempEffects = engine.block.getEffects(tempBlock);
|
|
481
|
+
const effectIndex = tempEffects.indexOf(tempEffect);
|
|
482
|
+
if (effectIndex !== -1) {
|
|
483
|
+
engine.block.removeEffect(tempBlock, effectIndex);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// Destroy the removed effect to free memory
|
|
487
|
+
engine.block.destroy(tempEffect);
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
The `removeEffect()` method takes an index position. After removal, destroy the effect instance to ensure proper cleanup.
|
|
491
|
+
|
|
492
|
+
### Reset Adjustments
|
|
493
|
+
|
|
494
|
+
To reset all adjustments to their default values, you can either:
|
|
495
|
+
|
|
496
|
+
- Set each property to `0.0` individually using `setFloat()`
|
|
497
|
+
- Remove the adjustments effect and create a new one
|
|
498
|
+
|
|
499
|
+
For most cases, setting properties to `0.0` is more efficient than recreating the effect.
|
|
500
|
+
|
|
501
|
+
## Troubleshooting
|
|
502
|
+
|
|
503
|
+
### Adjustments Not Visible
|
|
504
|
+
|
|
505
|
+
If adjustments don't appear after applying them:
|
|
506
|
+
|
|
507
|
+
- Verify the block supports effects using `supportsEffects()`
|
|
508
|
+
- Check that the effect is enabled with `isEffectEnabled()`
|
|
509
|
+
- Ensure the adjustments effect was appended to the block, not just created
|
|
510
|
+
- Confirm adjustment values are non-zero
|
|
511
|
+
|
|
512
|
+
### Unexpected Results
|
|
513
|
+
|
|
514
|
+
If adjustments produce unexpected visual results:
|
|
515
|
+
|
|
516
|
+
- Check the effect stack order—adjustments applied before or after other effects may produce different results
|
|
517
|
+
- Verify property paths include the `effect/adjustments/` prefix
|
|
518
|
+
- Use `findAllProperties()` to verify correct property names
|
|
519
|
+
|
|
520
|
+
### Property Not Found
|
|
521
|
+
|
|
522
|
+
If you encounter property not found errors:
|
|
523
|
+
|
|
524
|
+
- Use `findAllProperties()` to list all available properties
|
|
525
|
+
- Ensure property paths use the correct `effect/adjustments/` prefix format
|
|
526
|
+
|
|
527
|
+
## API Reference
|
|
528
|
+
|
|
529
|
+
| Method | Description |
|
|
530
|
+
| ------------------------------------------ | ----------------------------------------- |
|
|
531
|
+
| `block.supportsEffects(block)` | Check if a block supports effects |
|
|
532
|
+
| `block.createEffect('adjustments')` | Create an adjustments effect |
|
|
533
|
+
| `block.appendEffect(block, effect)` | Add effect to the end of the effect stack |
|
|
534
|
+
| `block.insertEffect(block, effect, index)` | Insert effect at a specific position |
|
|
535
|
+
| `block.getEffects(block)` | Get all effects applied to a block |
|
|
536
|
+
| `block.removeEffect(block, index)` | Remove effect at the specified index |
|
|
537
|
+
| `block.setEffectEnabled(effect, enabled)` | Enable or disable an effect |
|
|
538
|
+
| `block.isEffectEnabled(effect)` | Check if an effect is enabled |
|
|
539
|
+
| `block.setFloat(effect, property, value)` | Set a float property value |
|
|
540
|
+
| `block.getFloat(effect, property)` | Get a float property value |
|
|
541
|
+
| `block.findAllProperties(effect)` | List all properties of an effect |
|
|
542
|
+
| `block.destroy(effect)` | Destroy an effect and free resources |
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
## More Resources
|
|
547
|
+
|
|
548
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
549
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
550
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
551
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|