@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,577 @@
|
|
|
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) > [For Print](./colors/for-print.md) > [CMYK Colors](./colors/for-print/cmyk.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Work with CMYK colors in CE.SDK for professional print production workflows with support for color space conversion and tint control.
|
|
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-colors-for-print-cmyk-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-colors-for-print-cmyk-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-colors-for-print-cmyk-browser/)
|
|
19
|
+
|
|
20
|
+
CMYK (Cyan, Magenta, Yellow, Key/Black) is the standard color model for print production. Unlike RGB which is additive and designed for screens, CMYK uses subtractive color mixing to represent how inks combine on paper. CE.SDK supports CMYK colors natively, allowing you to prepare designs for professional print output while maintaining accurate color representation.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-colors-for-print-cmyk-browser/browser.ts reference-only
|
|
23
|
+
import type {
|
|
24
|
+
CMYKColor,
|
|
25
|
+
EditorPlugin,
|
|
26
|
+
EditorPluginContext,
|
|
27
|
+
RGBAColor
|
|
28
|
+
} from '@cesdk/cesdk-js';
|
|
29
|
+
import {
|
|
30
|
+
BlurAssetSource,
|
|
31
|
+
ColorPaletteAssetSource,
|
|
32
|
+
CropPresetsAssetSource,
|
|
33
|
+
DemoAssetSources,
|
|
34
|
+
EffectsAssetSource,
|
|
35
|
+
FiltersAssetSource,
|
|
36
|
+
PagePresetsAssetSource,
|
|
37
|
+
StickerAssetSource,
|
|
38
|
+
TextAssetSource,
|
|
39
|
+
TextComponentAssetSource,
|
|
40
|
+
TypefaceAssetSource,
|
|
41
|
+
UploadAssetSources,
|
|
42
|
+
VectorShapeAssetSource
|
|
43
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
44
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
45
|
+
import packageJson from './package.json';
|
|
46
|
+
|
|
47
|
+
// Type guard to check if a color is CMYK
|
|
48
|
+
// Color can be RGBAColor, CMYKColor, or SpotColor
|
|
49
|
+
const isCMYKColor = (color: unknown): color is CMYKColor => {
|
|
50
|
+
return (
|
|
51
|
+
typeof color === 'object' &&
|
|
52
|
+
color !== null &&
|
|
53
|
+
'c' in color &&
|
|
54
|
+
'm' in color &&
|
|
55
|
+
'y' in color &&
|
|
56
|
+
'k' in color
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* CE.SDK Plugin: CMYK Colors Guide
|
|
62
|
+
*
|
|
63
|
+
* This example demonstrates:
|
|
64
|
+
* - Creating CMYK color values for print workflows
|
|
65
|
+
* - Applying CMYK colors to fills, strokes, and shadows
|
|
66
|
+
* - Using the tint property for color intensity control
|
|
67
|
+
* - Converting between RGB and CMYK color spaces
|
|
68
|
+
* - Checking color types with type guards
|
|
69
|
+
*/
|
|
70
|
+
class Example implements EditorPlugin {
|
|
71
|
+
name = packageJson.name;
|
|
72
|
+
|
|
73
|
+
version = packageJson.version;
|
|
74
|
+
|
|
75
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
76
|
+
if (!cesdk) {
|
|
77
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
81
|
+
|
|
82
|
+
// Add asset source plugins
|
|
83
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
84
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
85
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
86
|
+
await cesdk.addPlugin(
|
|
87
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
88
|
+
);
|
|
89
|
+
await cesdk.addPlugin(
|
|
90
|
+
new DemoAssetSources({
|
|
91
|
+
include: [
|
|
92
|
+
'ly.img.templates.blank.*',
|
|
93
|
+
'ly.img.templates.presentation.*',
|
|
94
|
+
'ly.img.templates.print.*',
|
|
95
|
+
'ly.img.templates.social.*',
|
|
96
|
+
'ly.img.image.*'
|
|
97
|
+
]
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
101
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
102
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
103
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
104
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
105
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
106
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
107
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
108
|
+
|
|
109
|
+
// Create a design scene using CE.SDK convenience method
|
|
110
|
+
await cesdk.actions.run('scene.create', {
|
|
111
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
const engine = cesdk.engine;
|
|
115
|
+
|
|
116
|
+
// Get the page
|
|
117
|
+
const pages = engine.block.findByType('page');
|
|
118
|
+
const page = pages[0];
|
|
119
|
+
if (!page) {
|
|
120
|
+
throw new Error('No page found');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Set page background to light gray for visibility (using CMYK)
|
|
124
|
+
const pageFill = engine.block.getFill(page);
|
|
125
|
+
engine.block.setColor(pageFill, 'fill/color/value', {
|
|
126
|
+
c: 0.0,
|
|
127
|
+
m: 0.0,
|
|
128
|
+
y: 0.0,
|
|
129
|
+
k: 0.04,
|
|
130
|
+
tint: 1.0
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
// Helper function to create a graphic block with a color fill
|
|
134
|
+
const createColorBlock = (
|
|
135
|
+
x: number,
|
|
136
|
+
y: number,
|
|
137
|
+
width: number,
|
|
138
|
+
height: number,
|
|
139
|
+
shape: 'rect' | 'ellipse' = 'rect'
|
|
140
|
+
): { block: number; fill: number } => {
|
|
141
|
+
const block = engine.block.create('graphic');
|
|
142
|
+
const blockShape = engine.block.createShape(shape);
|
|
143
|
+
engine.block.setShape(block, blockShape);
|
|
144
|
+
engine.block.setWidth(block, width);
|
|
145
|
+
engine.block.setHeight(block, height);
|
|
146
|
+
engine.block.setPositionX(block, x);
|
|
147
|
+
engine.block.setPositionY(block, y);
|
|
148
|
+
engine.block.appendChild(page, block);
|
|
149
|
+
|
|
150
|
+
const colorFill = engine.block.createFill('color');
|
|
151
|
+
engine.block.setFill(block, colorFill);
|
|
152
|
+
|
|
153
|
+
return { block, fill: colorFill };
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// Create CMYK color objects for print production
|
|
157
|
+
// CMYK values range from 0.0 to 1.0
|
|
158
|
+
const cmykCyan: CMYKColor = { c: 1.0, m: 0.0, y: 0.0, k: 0.0, tint: 1.0 };
|
|
159
|
+
const cmykMagenta: CMYKColor = {
|
|
160
|
+
c: 0.0,
|
|
161
|
+
m: 1.0,
|
|
162
|
+
y: 0.0,
|
|
163
|
+
k: 0.0,
|
|
164
|
+
tint: 1.0
|
|
165
|
+
};
|
|
166
|
+
const cmykYellow: CMYKColor = { c: 0.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 };
|
|
167
|
+
const cmykBlack: CMYKColor = { c: 0.0, m: 0.0, y: 0.0, k: 1.0, tint: 1.0 };
|
|
168
|
+
|
|
169
|
+
// Example 1: Apply CMYK Cyan to a fill
|
|
170
|
+
const { fill: cyanFill } = createColorBlock(50, 50, 150, 150);
|
|
171
|
+
engine.block.setColor(cyanFill, 'fill/color/value', cmykCyan);
|
|
172
|
+
|
|
173
|
+
// Example 2: Apply CMYK Magenta to a fill
|
|
174
|
+
const { fill: magentaFill } = createColorBlock(220, 50, 150, 150);
|
|
175
|
+
engine.block.setColor(magentaFill, 'fill/color/value', cmykMagenta);
|
|
176
|
+
|
|
177
|
+
// Example 3: Apply CMYK Yellow to a fill
|
|
178
|
+
const { fill: yellowFill } = createColorBlock(390, 50, 150, 150);
|
|
179
|
+
engine.block.setColor(yellowFill, 'fill/color/value', cmykYellow);
|
|
180
|
+
|
|
181
|
+
// Example 4: Apply CMYK Black to a fill
|
|
182
|
+
const { fill: blackFill } = createColorBlock(560, 50, 150, 150);
|
|
183
|
+
engine.block.setColor(blackFill, 'fill/color/value', cmykBlack);
|
|
184
|
+
|
|
185
|
+
// Example 5: Use tint for partial color intensity
|
|
186
|
+
// Tint of 0.5 gives 50% color intensity
|
|
187
|
+
const cmykHalfMagenta: CMYKColor = {
|
|
188
|
+
c: 0.0,
|
|
189
|
+
m: 1.0,
|
|
190
|
+
y: 0.0,
|
|
191
|
+
k: 0.0,
|
|
192
|
+
tint: 0.5
|
|
193
|
+
};
|
|
194
|
+
const { fill: tintedFill } = createColorBlock(50, 220, 150, 150, 'ellipse');
|
|
195
|
+
engine.block.setColor(tintedFill, 'fill/color/value', cmykHalfMagenta);
|
|
196
|
+
|
|
197
|
+
// Example 6: Apply CMYK color to stroke
|
|
198
|
+
const { block: strokeBlock, fill: strokeBlockFill } = createColorBlock(
|
|
199
|
+
220,
|
|
200
|
+
220,
|
|
201
|
+
150,
|
|
202
|
+
150
|
|
203
|
+
);
|
|
204
|
+
// Set fill to white (using CMYK)
|
|
205
|
+
engine.block.setColor(strokeBlockFill, 'fill/color/value', {
|
|
206
|
+
c: 0.0,
|
|
207
|
+
m: 0.0,
|
|
208
|
+
y: 0.0,
|
|
209
|
+
k: 0.0,
|
|
210
|
+
tint: 1.0
|
|
211
|
+
});
|
|
212
|
+
// Enable stroke and set CMYK color
|
|
213
|
+
engine.block.setStrokeEnabled(strokeBlock, true);
|
|
214
|
+
engine.block.setStrokeWidth(strokeBlock, 8);
|
|
215
|
+
const cmykStrokeColor: CMYKColor = {
|
|
216
|
+
c: 0.8,
|
|
217
|
+
m: 0.2,
|
|
218
|
+
y: 0.0,
|
|
219
|
+
k: 0.1,
|
|
220
|
+
tint: 1.0
|
|
221
|
+
};
|
|
222
|
+
engine.block.setColor(strokeBlock, 'stroke/color', cmykStrokeColor);
|
|
223
|
+
|
|
224
|
+
// Example 7: Apply CMYK color to drop shadow
|
|
225
|
+
const { block: shadowBlock, fill: shadowBlockFill } = createColorBlock(
|
|
226
|
+
390,
|
|
227
|
+
220,
|
|
228
|
+
150,
|
|
229
|
+
150
|
|
230
|
+
);
|
|
231
|
+
// Set fill to light gray (using CMYK)
|
|
232
|
+
engine.block.setColor(shadowBlockFill, 'fill/color/value', {
|
|
233
|
+
c: 0.0,
|
|
234
|
+
m: 0.0,
|
|
235
|
+
y: 0.0,
|
|
236
|
+
k: 0.05,
|
|
237
|
+
tint: 1.0
|
|
238
|
+
});
|
|
239
|
+
// Enable drop shadow and set CMYK color
|
|
240
|
+
engine.block.setDropShadowEnabled(shadowBlock, true);
|
|
241
|
+
engine.block.setDropShadowOffsetX(shadowBlock, 10);
|
|
242
|
+
engine.block.setDropShadowOffsetY(shadowBlock, 10);
|
|
243
|
+
engine.block.setDropShadowBlurRadiusX(shadowBlock, 15);
|
|
244
|
+
engine.block.setDropShadowBlurRadiusY(shadowBlock, 15);
|
|
245
|
+
const cmykShadowColor: CMYKColor = {
|
|
246
|
+
c: 0.0,
|
|
247
|
+
m: 0.0,
|
|
248
|
+
y: 0.0,
|
|
249
|
+
k: 0.6,
|
|
250
|
+
tint: 0.8
|
|
251
|
+
};
|
|
252
|
+
engine.block.setColor(shadowBlock, 'dropShadow/color', cmykShadowColor);
|
|
253
|
+
|
|
254
|
+
// Example 8: Read CMYK color from a block
|
|
255
|
+
const { fill: readFill } = createColorBlock(560, 220, 150, 150, 'ellipse');
|
|
256
|
+
const cmykOrange: CMYKColor = { c: 0.0, m: 0.5, y: 1.0, k: 0.0, tint: 1.0 };
|
|
257
|
+
engine.block.setColor(readFill, 'fill/color/value', cmykOrange);
|
|
258
|
+
|
|
259
|
+
// Retrieve and check the color
|
|
260
|
+
const retrievedColor = engine.block.getColor(readFill, 'fill/color/value');
|
|
261
|
+
if (isCMYKColor(retrievedColor)) {
|
|
262
|
+
// eslint-disable-next-line no-console
|
|
263
|
+
console.log(
|
|
264
|
+
`CMYK Color - C: ${retrievedColor.c}, M: ${retrievedColor.m}, Y: ${retrievedColor.y}, K: ${retrievedColor.k}, Tint: ${retrievedColor.tint}`
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// Example 9: Convert RGB to CMYK
|
|
269
|
+
const rgbBlue: RGBAColor = { r: 0.2, g: 0.4, b: 0.9, a: 1.0 };
|
|
270
|
+
const convertedCmyk = engine.editor.convertColorToColorSpace(
|
|
271
|
+
rgbBlue,
|
|
272
|
+
'CMYK'
|
|
273
|
+
);
|
|
274
|
+
const { fill: convertedFill } = createColorBlock(50, 390, 150, 150);
|
|
275
|
+
engine.block.setColor(convertedFill, 'fill/color/value', convertedCmyk);
|
|
276
|
+
// eslint-disable-next-line no-console
|
|
277
|
+
console.log('RGB to CMYK conversion:', convertedCmyk);
|
|
278
|
+
|
|
279
|
+
// Example 10: Convert CMYK to RGB (for demonstration)
|
|
280
|
+
const cmykGreen: CMYKColor = { c: 0.7, m: 0.0, y: 1.0, k: 0.2, tint: 1.0 };
|
|
281
|
+
const convertedRgb = engine.editor.convertColorToColorSpace(
|
|
282
|
+
cmykGreen,
|
|
283
|
+
'sRGB'
|
|
284
|
+
);
|
|
285
|
+
// eslint-disable-next-line no-console
|
|
286
|
+
console.log('CMYK to RGB conversion:', convertedRgb);
|
|
287
|
+
// Display using original CMYK color
|
|
288
|
+
const { fill: previewFill } = createColorBlock(220, 390, 150, 150);
|
|
289
|
+
engine.block.setColor(previewFill, 'fill/color/value', cmykGreen);
|
|
290
|
+
|
|
291
|
+
// Example 11: Use CMYK colors in gradients
|
|
292
|
+
const gradientBlock = engine.block.create('graphic');
|
|
293
|
+
const gradientShape = engine.block.createShape('rect');
|
|
294
|
+
engine.block.setShape(gradientBlock, gradientShape);
|
|
295
|
+
engine.block.setWidth(gradientBlock, 320);
|
|
296
|
+
engine.block.setHeight(gradientBlock, 150);
|
|
297
|
+
engine.block.setPositionX(gradientBlock, 390);
|
|
298
|
+
engine.block.setPositionY(gradientBlock, 390);
|
|
299
|
+
engine.block.appendChild(page, gradientBlock);
|
|
300
|
+
|
|
301
|
+
const gradientFill = engine.block.createFill('gradient/linear');
|
|
302
|
+
engine.block.setFill(gradientBlock, gradientFill);
|
|
303
|
+
|
|
304
|
+
// Set gradient stops with CMYK colors
|
|
305
|
+
engine.block.setGradientColorStops(gradientFill, 'fill/gradient/colors', [
|
|
306
|
+
{ color: { c: 1.0, m: 0.0, y: 0.0, k: 0.0, tint: 1.0 }, stop: 0 },
|
|
307
|
+
{ color: { c: 0.0, m: 1.0, y: 0.0, k: 0.0, tint: 1.0 }, stop: 0.5 },
|
|
308
|
+
{ color: { c: 0.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 1 }
|
|
309
|
+
]);
|
|
310
|
+
|
|
311
|
+
// Zoom to fit all content
|
|
312
|
+
await engine.scene.zoomToBlock(page, {
|
|
313
|
+
padding: {
|
|
314
|
+
left: 40,
|
|
315
|
+
top: 40,
|
|
316
|
+
right: 40,
|
|
317
|
+
bottom: 40
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export default Example;
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
This guide covers how to create CMYK color values, apply them to fills, strokes, and shadows, use the tint property for color intensity control, and convert between color spaces.
|
|
327
|
+
|
|
328
|
+
## Understanding CMYK Colors
|
|
329
|
+
|
|
330
|
+
### When to Use CMYK
|
|
331
|
+
|
|
332
|
+
Use CMYK colors when preparing designs for commercial printing or when print service providers require CMYK values. Screen displays convert CMYK to RGB for preview, but exported PDFs retain the original CMYK values for accurate print reproduction.
|
|
333
|
+
|
|
334
|
+
CMYK colors in CE.SDK have five properties:
|
|
335
|
+
|
|
336
|
+
- `c` (Cyan): 0.0 to 1.0
|
|
337
|
+
- `m` (Magenta): 0.0 to 1.0
|
|
338
|
+
- `y` (Yellow): 0.0 to 1.0
|
|
339
|
+
- `k` (Key/Black): 0.0 to 1.0
|
|
340
|
+
- `tint`: 0.0 to 1.0 (controls overall color intensity)
|
|
341
|
+
|
|
342
|
+
## Creating CMYK Colors
|
|
343
|
+
|
|
344
|
+
Create CMYK color objects using the `CMYKColor` interface. All component values range from 0.0 to 1.0:
|
|
345
|
+
|
|
346
|
+
```typescript highlight-create-cmyk
|
|
347
|
+
// Create CMYK color objects for print production
|
|
348
|
+
// CMYK values range from 0.0 to 1.0
|
|
349
|
+
const cmykCyan: CMYKColor = { c: 1.0, m: 0.0, y: 0.0, k: 0.0, tint: 1.0 };
|
|
350
|
+
const cmykMagenta: CMYKColor = {
|
|
351
|
+
c: 0.0,
|
|
352
|
+
m: 1.0,
|
|
353
|
+
y: 0.0,
|
|
354
|
+
k: 0.0,
|
|
355
|
+
tint: 1.0
|
|
356
|
+
};
|
|
357
|
+
const cmykYellow: CMYKColor = { c: 0.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 };
|
|
358
|
+
const cmykBlack: CMYKColor = { c: 0.0, m: 0.0, y: 0.0, k: 1.0, tint: 1.0 };
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
The tint property acts as a multiplier for the entire color—a tint of 1.0 applies the full color, while 0.5 applies 50% intensity.
|
|
362
|
+
|
|
363
|
+
## Applying CMYK Colors to Fills
|
|
364
|
+
|
|
365
|
+
Apply CMYK colors to color fills using `engine.block.setColor()`. First create a color fill with `engine.block.createFill('color')`, then set its color value:
|
|
366
|
+
|
|
367
|
+
```typescript highlight-apply-fill
|
|
368
|
+
// Example 1: Apply CMYK Cyan to a fill
|
|
369
|
+
const { fill: cyanFill } = createColorBlock(50, 50, 150, 150);
|
|
370
|
+
engine.block.setColor(cyanFill, 'fill/color/value', cmykCyan);
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
The same method works for any color type—RGBA, CMYK, or SpotColor. CE.SDK automatically handles the color representation internally.
|
|
374
|
+
|
|
375
|
+
## Using the Tint Property
|
|
376
|
+
|
|
377
|
+
The tint property provides fine-grained control over color intensity without modifying the base CMYK values. This is useful for creating lighter variations of a color:
|
|
378
|
+
|
|
379
|
+
```typescript highlight-tint
|
|
380
|
+
// Example 5: Use tint for partial color intensity
|
|
381
|
+
// Tint of 0.5 gives 50% color intensity
|
|
382
|
+
const cmykHalfMagenta: CMYKColor = {
|
|
383
|
+
c: 0.0,
|
|
384
|
+
m: 1.0,
|
|
385
|
+
y: 0.0,
|
|
386
|
+
k: 0.0,
|
|
387
|
+
tint: 0.5
|
|
388
|
+
};
|
|
389
|
+
const { fill: tintedFill } = createColorBlock(50, 220, 150, 150, 'ellipse');
|
|
390
|
+
engine.block.setColor(tintedFill, 'fill/color/value', cmykHalfMagenta);
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
A tint of 0.5 creates a 50% lighter version of the color, useful for secondary elements or subtle backgrounds.
|
|
394
|
+
|
|
395
|
+
## Applying CMYK to Strokes
|
|
396
|
+
|
|
397
|
+
Apply CMYK colors to strokes using the `stroke/color` property path:
|
|
398
|
+
|
|
399
|
+
```typescript highlight-stroke
|
|
400
|
+
// Example 6: Apply CMYK color to stroke
|
|
401
|
+
const { block: strokeBlock, fill: strokeBlockFill } = createColorBlock(
|
|
402
|
+
220,
|
|
403
|
+
220,
|
|
404
|
+
150,
|
|
405
|
+
150
|
|
406
|
+
);
|
|
407
|
+
// Set fill to white (using CMYK)
|
|
408
|
+
engine.block.setColor(strokeBlockFill, 'fill/color/value', {
|
|
409
|
+
c: 0.0,
|
|
410
|
+
m: 0.0,
|
|
411
|
+
y: 0.0,
|
|
412
|
+
k: 0.0,
|
|
413
|
+
tint: 1.0
|
|
414
|
+
});
|
|
415
|
+
// Enable stroke and set CMYK color
|
|
416
|
+
engine.block.setStrokeEnabled(strokeBlock, true);
|
|
417
|
+
engine.block.setStrokeWidth(strokeBlock, 8);
|
|
418
|
+
const cmykStrokeColor: CMYKColor = {
|
|
419
|
+
c: 0.8,
|
|
420
|
+
m: 0.2,
|
|
421
|
+
y: 0.0,
|
|
422
|
+
k: 0.1,
|
|
423
|
+
tint: 1.0
|
|
424
|
+
};
|
|
425
|
+
engine.block.setColor(strokeBlock, 'stroke/color', cmykStrokeColor);
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
Enable the stroke first with `setStrokeEnabled()`, set the stroke width, then apply the CMYK color.
|
|
429
|
+
|
|
430
|
+
## Applying CMYK to Drop Shadows
|
|
431
|
+
|
|
432
|
+
Apply CMYK colors to drop shadows using the `dropShadow/color` property path:
|
|
433
|
+
|
|
434
|
+
```typescript highlight-shadow
|
|
435
|
+
// Example 7: Apply CMYK color to drop shadow
|
|
436
|
+
const { block: shadowBlock, fill: shadowBlockFill } = createColorBlock(
|
|
437
|
+
390,
|
|
438
|
+
220,
|
|
439
|
+
150,
|
|
440
|
+
150
|
|
441
|
+
);
|
|
442
|
+
// Set fill to light gray (using CMYK)
|
|
443
|
+
engine.block.setColor(shadowBlockFill, 'fill/color/value', {
|
|
444
|
+
c: 0.0,
|
|
445
|
+
m: 0.0,
|
|
446
|
+
y: 0.0,
|
|
447
|
+
k: 0.05,
|
|
448
|
+
tint: 1.0
|
|
449
|
+
});
|
|
450
|
+
// Enable drop shadow and set CMYK color
|
|
451
|
+
engine.block.setDropShadowEnabled(shadowBlock, true);
|
|
452
|
+
engine.block.setDropShadowOffsetX(shadowBlock, 10);
|
|
453
|
+
engine.block.setDropShadowOffsetY(shadowBlock, 10);
|
|
454
|
+
engine.block.setDropShadowBlurRadiusX(shadowBlock, 15);
|
|
455
|
+
engine.block.setDropShadowBlurRadiusY(shadowBlock, 15);
|
|
456
|
+
const cmykShadowColor: CMYKColor = {
|
|
457
|
+
c: 0.0,
|
|
458
|
+
m: 0.0,
|
|
459
|
+
y: 0.0,
|
|
460
|
+
k: 0.6,
|
|
461
|
+
tint: 0.8
|
|
462
|
+
};
|
|
463
|
+
engine.block.setColor(shadowBlock, 'dropShadow/color', cmykShadowColor);
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
Enable the drop shadow first, configure its offset and blur radius, then apply the CMYK color.
|
|
467
|
+
|
|
468
|
+
## Reading CMYK Colors
|
|
469
|
+
|
|
470
|
+
Retrieve color values from blocks using `engine.block.getColor()`. The returned color could be RGBA, CMYK, or SpotColor, so use the `isCMYKColor()` type guard to check:
|
|
471
|
+
|
|
472
|
+
```typescript highlight-read-color
|
|
473
|
+
// Example 8: Read CMYK color from a block
|
|
474
|
+
const { fill: readFill } = createColorBlock(560, 220, 150, 150, 'ellipse');
|
|
475
|
+
const cmykOrange: CMYKColor = { c: 0.0, m: 0.5, y: 1.0, k: 0.0, tint: 1.0 };
|
|
476
|
+
engine.block.setColor(readFill, 'fill/color/value', cmykOrange);
|
|
477
|
+
|
|
478
|
+
// Retrieve and check the color
|
|
479
|
+
const retrievedColor = engine.block.getColor(readFill, 'fill/color/value');
|
|
480
|
+
if (isCMYKColor(retrievedColor)) {
|
|
481
|
+
// eslint-disable-next-line no-console
|
|
482
|
+
console.log(
|
|
483
|
+
`CMYK Color - C: ${retrievedColor.c}, M: ${retrievedColor.m}, Y: ${retrievedColor.y}, K: ${retrievedColor.k}, Tint: ${retrievedColor.tint}`
|
|
484
|
+
);
|
|
485
|
+
}
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
The `isCMYKColor()` type guard checks if a color has the CMYK properties (`c`, `m`, `y`, `k`).
|
|
489
|
+
|
|
490
|
+
## Converting Between Color Spaces
|
|
491
|
+
|
|
492
|
+
Use `engine.editor.convertColorToColorSpace()` to convert colors between 'sRGB' and 'CMYK':
|
|
493
|
+
|
|
494
|
+
```typescript highlight-convert
|
|
495
|
+
// Example 9: Convert RGB to CMYK
|
|
496
|
+
const rgbBlue: RGBAColor = { r: 0.2, g: 0.4, b: 0.9, a: 1.0 };
|
|
497
|
+
const convertedCmyk = engine.editor.convertColorToColorSpace(rgbBlue, 'CMYK');
|
|
498
|
+
const { fill: convertedFill } = createColorBlock(50, 390, 150, 150);
|
|
499
|
+
engine.block.setColor(convertedFill, 'fill/color/value', convertedCmyk);
|
|
500
|
+
// eslint-disable-next-line no-console
|
|
501
|
+
console.log('RGB to CMYK conversion:', convertedCmyk);
|
|
502
|
+
|
|
503
|
+
// Example 10: Convert CMYK to RGB (for demonstration)
|
|
504
|
+
const cmykGreen: CMYKColor = { c: 0.7, m: 0.0, y: 1.0, k: 0.2, tint: 1.0 };
|
|
505
|
+
const convertedRgb = engine.editor.convertColorToColorSpace(cmykGreen, 'sRGB');
|
|
506
|
+
// eslint-disable-next-line no-console
|
|
507
|
+
console.log('CMYK to RGB conversion:', convertedRgb);
|
|
508
|
+
// Display using original CMYK color
|
|
509
|
+
const { fill: previewFill } = createColorBlock(220, 390, 150, 150);
|
|
510
|
+
engine.block.setColor(previewFill, 'fill/color/value', cmykGreen);
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
Note that color conversions may not be perfectly reversible due to differences in color gamuts between RGB and CMYK. Some RGB colors cannot be accurately represented in CMYK and vice versa.
|
|
514
|
+
|
|
515
|
+
## Using CMYK in Gradients
|
|
516
|
+
|
|
517
|
+
CMYK colors work in gradient color stops. Create a gradient fill and set stops using `engine.block.setGradientColorStops()`:
|
|
518
|
+
|
|
519
|
+
```typescript highlight-gradient
|
|
520
|
+
// Example 11: Use CMYK colors in gradients
|
|
521
|
+
const gradientBlock = engine.block.create('graphic');
|
|
522
|
+
const gradientShape = engine.block.createShape('rect');
|
|
523
|
+
engine.block.setShape(gradientBlock, gradientShape);
|
|
524
|
+
engine.block.setWidth(gradientBlock, 320);
|
|
525
|
+
engine.block.setHeight(gradientBlock, 150);
|
|
526
|
+
engine.block.setPositionX(gradientBlock, 390);
|
|
527
|
+
engine.block.setPositionY(gradientBlock, 390);
|
|
528
|
+
engine.block.appendChild(page, gradientBlock);
|
|
529
|
+
|
|
530
|
+
const gradientFill = engine.block.createFill('gradient/linear');
|
|
531
|
+
engine.block.setFill(gradientBlock, gradientFill);
|
|
532
|
+
|
|
533
|
+
// Set gradient stops with CMYK colors
|
|
534
|
+
engine.block.setGradientColorStops(gradientFill, 'fill/gradient/colors', [
|
|
535
|
+
{ color: { c: 1.0, m: 0.0, y: 0.0, k: 0.0, tint: 1.0 }, stop: 0 },
|
|
536
|
+
{ color: { c: 0.0, m: 1.0, y: 0.0, k: 0.0, tint: 1.0 }, stop: 0.5 },
|
|
537
|
+
{ color: { c: 0.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 1 }
|
|
538
|
+
]);
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
This creates a gradient transitioning through the primary CMYK colors—cyan, magenta, and yellow.
|
|
542
|
+
|
|
543
|
+
## Troubleshooting
|
|
544
|
+
|
|
545
|
+
### Colors Look Different on Screen vs Print
|
|
546
|
+
|
|
547
|
+
Screen displays convert CMYK to RGB for preview. The exported PDF retains original CMYK values. For accurate color preview, use calibrated monitors and proof prints.
|
|
548
|
+
|
|
549
|
+
### Tint Not Having Expected Effect
|
|
550
|
+
|
|
551
|
+
Ensure the tint value is between 0 and 1. A tint of 0 makes the color fully transparent, while 1 applies full intensity.
|
|
552
|
+
|
|
553
|
+
### Type Guard Returns False
|
|
554
|
+
|
|
555
|
+
Make sure you're checking a `Color` value returned from `engine.block.getColor()`. The `isCMYKColor()` function only works with color values, not arbitrary objects.
|
|
556
|
+
|
|
557
|
+
## API Reference
|
|
558
|
+
|
|
559
|
+
| Method | Description |
|
|
560
|
+
| ------------------------------------------ | ---------------------------------------- |
|
|
561
|
+
| `engine.block.setColor()` | Set a color property value |
|
|
562
|
+
| `engine.block.getColor()` | Get a color property from a block |
|
|
563
|
+
| `engine.editor.convertColorToColorSpace()` | Convert color to a different color space |
|
|
564
|
+
| `engine.block.createFill()` | Create a color fill |
|
|
565
|
+
| `engine.block.setFill()` | Assign a fill to a block |
|
|
566
|
+
| `engine.block.getFill()` | Get the fill from a block |
|
|
567
|
+
| `engine.block.setGradientColorStops()` | Set gradient color stops |
|
|
568
|
+
| `isCMYKColor()` | Check if a color is CMYK |
|
|
569
|
+
|
|
570
|
+
---
|
|
571
|
+
|
|
572
|
+
## More Resources
|
|
573
|
+
|
|
574
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
575
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
576
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
577
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|